我正在使用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以正确的顺序加载脚本,并在最后的main.js中初始化datepicker。
<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>
在操作员或控制台中没有错误,似乎无法想到会发生什么。希望有人更多使用JS或jQuery UI的经验,而不是我经历过类似的事情和/或可以指出我在下一步寻找问题的方向。
非常感谢提前。
答案 0 :(得分:1)
从输入中删除id
并使用类初始化datepicker。我100%确定id
是唯一的,并且在CSS或JS中的任何其他地方都没有使用或引用。我不知道为什么会这样 - 它对我没有意义,但我对它有所了解。
如果有人知道原因,我会感兴趣。
希望这有助于未来的代码匠。