ben*_*ben 3 javascript jquery jquery-ui javascript-events jquery-ui-datepicker
任何人都可以告诉我为什么当我使用jQuery UI Datepicker选择日期时,console.log行没有运行?谢谢阅读.
<script type="text/javascript">
$(window).ready(function() {
$(function() {
$("#datepicker").datepicker({ altField: '#dateIntermediate'});
});
$('#dateIntermediate').change(function(){
console.log("dateIntermediate changed");
});
});
</script>
<p>Date: <input id="datepicker" type="text"></p>
<input type="hidden" id="dateIntermediate" />
Run Code Online (Sandbox Code Playgroud)
在这些情况下浏览器不会触发change事件(通过脚本设置值),如果你想知道它何时发生,你可以使用datepicker 的onSelect处理程序,如下所示:
$(function() {
$("#datepicker").datepicker({
altField: '#dateIntermediate',
onSelect: function() {
alert('Current #dateIntermediate value: ' + $("#dateIntermediate").val());
}
});
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里测试一下.或者,您也可以change以相同的方式触发当前拥有的处理程序:
$(function() {
$("#datepicker").datepicker({
altField: '#dateIntermediate',
onSelect: function() {
$("#dateIntermediate").change();
}
});
$('#dateIntermediate').change(function(){
console.log("dateIntermediate changed");
});
});?
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你不需要$(window).ready(function() { });那里的包装器,它等同于$(document).ready(function() { });你的$(function() { });包装器已经处理过的包装器.你当前的方法是有效的,因为$(anything).ready()所有方法都去了同一个地方,但不需要多个包装器,所以只需删除外层的:)