月份更改号码

时间:2016-07-26 14:30:07

标签: javascript jquery var

我想更改前面单词的数字。

Ex:0 = 1月/ 1 = 2月/ 2 = 3月....

这是我的代码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" 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);
      }
    });
})

请你帮我解决问题,我真的输了。

I won't the number but the mont

2 个答案:

答案 0 :(得分:0)

创建课程:

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=new Months();
months.getMonthName(0); //January

答案 1 :(得分:0)

我试图尽可能地保留原始代码。我还假设您需要法语月份名称。

我们的想法是将月份号码存储为<input>的属性,就像您为“min”所做的那样。和&#39; max&#39;并在每次更改时将输入值设置为月份名称。

由于每个浏览器都不支持toLocaleString,因此您可能需要对此数组进行硬编码:var monthName = [ 'janvier', 'février', etc. ];

除此之外:new Date(0, n + 1)正在生成1900年的日期。但是我们在这里做的事情还可以。

&#13;
&#13;
var monthName = [];

for(var n = 0; n < 12; n++) {
  monthName[n] = (new Date(0, n + 1)).toLocaleString('fr-FR', { month: "long" });
}

$(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.attr('month')) < parseInt(input.attr('max'))) {    
        input.attr('month', parseInt(input.attr('month'), 10) + 1);
        input.val(monthName[parseInt(input.attr('month'), 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.attr('month')) > parseInt(input.attr('min'))) {    
        input.attr('month', parseInt(input.attr('month'), 10) - 1);
        input.val(monthName[parseInt(input.attr('month'), 10) - 1]);
      } else {
        btn.prev("disabled", true);
      }
    });
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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="mai" month="5" min="1" max="12" readonly>
<button class="btn btn-default" type="button"><i class="fa fa-caret-right"></i>+</button>
</div>
&#13;
&#13;
&#13;