Javascript 每月更换号码
我想更改前面单词上的数字 例:0=一月/1=二月/2=三月 这是我的HTML代码Javascript 每月更换号码,javascript,jquery,var,Javascript,Jquery,Var,我想更改前面单词上的数字 例:0=一月/1=二月/2=三月 这是我的HTML代码 <div class="input-group btn-group select-date"> <button class="btn btn-default" type="button"><i class="fa fa-caret-left"></i></button> <input type="text" class="form-control"
<div class="input-group btn-group select-date">
<button class="btn btn-default" type="button"><i class="fa fa-caret-left"></i></button>
<input type="text" class="form-control" value="05" min="01" max="12" readonly>
<button class="btn btn-default" type="button"><i class="fa fa-caret-right"></i></button>
</div>
这是我的代码JS
$(function(){
$('.select-date .btn:last-of-type').on('click', function() {
var btn = $(this);
var input = btn.closest('.select-date').find('input');
if (input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max'))) {
input.val(parseInt(input.val(), 10) + 1);
} else {
btn.next("disabled", true);
}
});
$('.select-date .btn:first-of-type').on('click', function() {
var btn = $(this);
var input = btn.closest('.select-date').find('input');
if (input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min'))) {
input.val(parseInt(input.val(), 10) - 1);
} else {
btn.prev("disabled", true);
}
});
})
$(函数(){
$('.选择date.btn:类型的最后一个')。在('单击',函数()上){
var btn=$(本);
var input=btn.最近('.选择日期')。查找('input');
如果(input.attr('max')==未定义的| | parseInt(input.val())parseInt(input.attr('min')){
val(parseInt(input.val(),10)-1);
}否则{
btn.prev(“禁用”,真实);
}
});
})
请你帮我解决这个问题,我真的迷路了
创建类:
var Months=function(){
this.months=[
"January"
... //all months
];
};
Months.prototype.getMonthName=function(num){
if (num<0 || num>11){
console.log("no such month!");
return null;
}
return this.months[num];
};
创建类:
var Months=function(){
this.months=[
"January"
... //all months
];
};
Months.prototype.getMonthName=function(num){
if (num<0 || num>11){
console.log("no such month!");
return null;
}
return this.months[num];
};
我试着尽可能接近你的原始代码。我还假设您需要法语的月份名称 其想法是将月数存储为
的属性,就像您对“min”和“max”所做的那样,并在每次更改时将输入值设置为月份名称
由于并非每个浏览器都支持toLocaleString
,因此您可能需要对该数组进行硬编码:var monthName=['janvier','février'等]代码>
旁白:新日期(0,n+1)
正在生成1900年的日期。但我们在这里做的一切都没关系
var-monthName=[];
对于(变量n=0;n<12;n++){
monthName[n]=(新日期(0,n+1)).toLocaleString('fr-fr',{month:'long});
}
$(函数(){
$('.选择date.btn:类型的最后一个')。在('单击',函数()上){
var btn=$(本);
var input=btn.最近('.选择日期')。查找('input');
如果(input.attr('max')==未定义的| | parseInt(input.attr('month'))parseInt(input.attr('min')){
input.attr('month',parseInt(input.attr('month'),10)-1);
val(monthName[parseInt(input.attr('month'),10)-1]);
}否则{
btn.prev(“禁用”,真实);
}
});
})
-
+
我已尝试尽可能接近您的原始代码。我还假设您需要法语的月份名称
其想法是将月数存储为
的属性,就像您对“min”和“max”所做的那样,并在每次更改时将输入值设置为月份名称
由于并非每个浏览器都支持toLocaleString
,因此您可能需要对该数组进行硬编码:var monthName=['janvier','février'等]代码>
旁白:新日期(0,n+1)
正在生成1900年的日期。但我们在这里做的一切都没关系
var-monthName=[];
对于(变量n=0;n<12;n++){
monthName[n]=(新日期(0,n+1)).toLocaleString('fr-fr',{month:'long});
}
$(函数(){
$('.选择date.btn:类型的最后一个')。在('单击',函数()上){
var btn=$(本);
var input=btn.最近('.选择日期')。查找('input');
如果(input.attr('max')==未定义的| | parseInt(input.attr('month'))parseInt(input.attr('min')){
input.attr('month',parseInt(input.attr('month'),10)-1);
val(monthName[parseInt(input.attr('month'),10)-1]);
}否则{
btn.prev(“禁用”,真实);
}
});
})
-
+
Can you create a JS fiddle的可能重复项?这是测试的链接Can you create a JS fiddle的可能重复项?这是测试的链接,很高兴它有所帮助。请注意,我已经稍微更新了我的答案,因此monthName
是一个基于零的数组。(为了与我关于硬编码的评论保持一致,如果必要的话。)很高兴它有所帮助。请注意,我已经稍微更新了我的答案,因此monthName
是一个基于零的数组。(如有必要,只是为了与我关于硬编码的评论保持一致。)