【问题标题】:How can I force the bootstrap datepicker display the value of the input field in the calendar?如何强制引导日期选择器在日历中显示输入字段的值?
【发布时间】:2017-05-31 08:53:41
【问题描述】:

我的引导日期选择器有一个奇怪的问题(我在引导模式中使用它)。

如果我直接在输入字段中设置值...

<input value="12.05.2017" type="text" class="date">

...日期选择器运行良好。这意味着,如果我单击输入字段,日期选择器会在日历中显示正确的日期:

但是如果我通过 jquery 设置值..

<input value="" type="text" class="date">

<script>
$(document).on("click", ".open_modal", function () {
  $(".date").val("11.06.2017");
}
</script>

...然后,如果我点击输入字段,日历正在打开,但不显示任何日期:

什么可能导致这个问题?

小提琴:http://jsfiddle.net/93eTU/2510/

【问题讨论】:

  • 你能分享你正在使用的日期选择器的链接吗?
  • 一个小提琴会很好:)
  • 这里是小提琴:jsfiddle.net/93eTU/2510

标签: jquery twitter-bootstrap datepicker calendar bootstrap-modal


【解决方案1】:

您应该使用datepicker methods 之一:

$('.open_modal').click(function() {
    $('.date').datepicker('update', new Date(2017, 6, 11));
});

UPDATED FIDDLE

【讨论】:

    【解决方案2】:

    试试这个:

    $('.open_modal').click(function() {
    $('.date').datepicker('update', '11.06.2017');
    });
    

    Datepicker 从输入中获取初始值,如果有的话,并用它初始化。但是在输入上初始化 datepicker 之后,您应该使用 datepicker api 来更改值。

    还有一件事。您的日期格式与您提供的值不符:

     $('.date').datepicker({
         dateFormat: '**dd-mm-yy**',
         minDate: '+5d',
         changeMonth: true,
         changeYear: true,
         altField: "#idTourDateDetailsHidden",
         altFormat: "yy-mm-dd"
     });
    

    【讨论】:

      猜你喜欢
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多