无法解决为什么jQuery UI Datepicker不会在输入中插入日期

时间:2016-07-14 16:20:37

标签: javascript jquery jquery-ui 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以正确的顺序加载脚本,并在最后的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的经验,而不是我经历过类似的事情和/或可以指出我在下一步寻找问题的方向。

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

从输入中删除id并使用类初始化datepicker。我100%确定id是唯一的,并且在CSS或JS中的任何其他地方都没有使用或引用。我不知道为什么会这样 - 它对我没有意义,但我对它有所了解。

如果有人知道原因,我会感兴趣。

希望这有助于未来的代码匠。