bootstrap-datepicker.js自动关闭且不超过本月

时间:2013-05-06 10:49:05

标签: javascript twitter-bootstrap

我使用http://www.eyecon.ro/bootstrap-datepicker作为我的表单中的日期选择器与Twitter Bootstrap一起使用,我无法将其设置为自动关闭,并且任何月/年组合都大于当前月/年可选择。我已经遍历了文档,但看不到它。任何帮助表示赞赏。

我的表格在下面

<div class="control-group">
   <label class="control-label" for="CC_CARDEXPIRY"><strong>Card Expiry Month/Year</strong></label>
   <div class="controls">
      <div class="input-append date datepicker" id="CC_CARDEXPIRY" data-date="01/2014" data-date-format="mm/yyyy" data-date-viewmode="years" data-date-minviewmode="months">
         <input class="span6" name="CC_CARDEXPIRY" size="20" type="text" value="01/2015" readonly>
         <span class="add-on"><i class="icon-calendar"></i></span>
      </div>   
   </div>
</div> 

我的Javascript目前是

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"</script>    
<script src="../js/bootstrap-datepicker.js"></script>
<script type="text/javascript">  
  $('#CC_CARDEXPIRY').datepicker();              
</script>

1 个答案:

答案 0 :(得分:2)

默认情况下,autoclose为false。您必须在代码中手动设置它作为选项。


在玩了日期选择器后,我找到了一种方法,无需触及自动关闭:

我把这个函数放在我对datepicker的调用之上:

var popup =  function(){
    var d = $(this);
    d.datepicker('update', new Date.today().toString("MM/dd/yyyy"))
    .on('changeDate', function(ev){
        // do what you want here
        d.datepicker('hide');
    });
};

然后我对datepicker的调用如下:

this.$('i.icon-calendar').datepicker().on('show', popup);

我强烈建议使用代码here而不是eycon版本。它最初来自eycon,但由eternicode维护的github repo有更多的跟随,这意味着如果你找到并报告一个bug,它将有更大的机会得到修复。我并不是说它更容易使用,但是有更多的支持。