2016-07-14 40 views
1

我正在使用jQuery UI Datepicker,它在输入上正确初始化,但不会将所选值插入到字段中。无法理解为什么jQuery UI Datepicker不会将日期插入输入

输入是:

<input name="data[entry-date]" id="parkingEntryDate" type="text" placeholder="dd/mm/yy" class="date-input"> 

的JS是:

$.datepicker.setDefaults({ 
    dateFormat: "dd/mm/yy", 
    dayNamesMin: [ "S", "M", "T", "W", "T", "F", "S" ], 
    minDate: "d", 
    maxDate: "+1y", 
    prevText: "", 
    nextText: "", 
    onSelect: function(dateText, inst) { 
      alert(dateText); 
      } 
}); 

$('#parkingEntryDate').datepicker(); 

日历显示如预期,我看到警报ONSELECT正确的日期,但日期没有得到插入输入作为值;它保持空白,并不接受键盘输入,如预期的那样。

脚本使用WordPress enqueue_script以正确的顺序加载,并且datepicker在最后一个main.js中初始化。

<head> 
<script type='text/javascript' src='http://macbook-pro.local:5757/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script> 
<script type='text/javascript' src='http://macbook-pro.local:5757/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script> 
</head> 
... 
<script type='text/javascript' src='http://macbook-pro.local:5757/wp-includes/js/jquery/ui/core.min.js?ver=1.11.4'></script> 
<script type='text/javascript' src='http://macbook-pro.local:5757/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.11.4'></script> 
<script type='text/javascript' src='http://macbook-pro.local:5757/content/themes/mytheme/js/plugins.min.js?ver=20151215'></script> 
<script type='text/javascript' src='http://macbook-pro.local:5757/content/themes/mytheme/js/main.js?ver=20151215'></script> 

inpector或控制台没有错误,似乎无法想象会发生什么。希望有人对JS或jQuery UI有更多的经验,而不是我经历过的类似和/或可以指向我接下来寻找问题的方向。

非常感谢提前。

回答

1

从输入中删除id并使用该类工作初始化datepicker。我100%肯定id是唯一的,并没有在CSS或JS的其他地方使用或引用。我不知道为什么这会奏效 - 它对我来说没有意义,但我已经完成了。

如果有人知道为什么,我会感兴趣。

希望这有助于未来的编码制作者。

+0

发生这种情况的原因是因为datepicker()在初始化时将它自己的id分配给input元素。 –

相关问题