我使用了所谓DateTimePicker.js的日历,并在我的html上使用了它,例如:
<input id="startDate" name="startDate" id="startDate" type="text" size="20" value="">
<a href="javascript:NewCssCal('startDate','ddMMyyyy','arrow')">
<img src="images/cal.gif" width="16" height="16" border="0" alt="Pick a date"/></a>
</input>
问题是,我如何检测日历上的任何更改,因为我尝试使用以下jQuery进行测试,但显然它不起作用:
<input id="startDate" name="startDate" id = "startDate" type="text" size="20" value="">
<script type="text/javascript">$(document).ready(function() {
$("#startDate").bind('change', function(e) {
alert('changing date!');
});
});
</script>
<a href="javascript:NewCssCal('startDate','ddMMyyyy','arrow')">
<img src="images/cal.gif" width="16" height="16" border="0" alt="Pick a date"/>
</a>
</input>
答案 0 :(得分:1)
输出(viewsource)类似于
<input id="startDate" readonly="readonly" name="startDate" id = "startDate" type="text" size="20" value="">
其中包含 readonly =“readonly”,这会使您的输入只是由于未引发更改事件而导致的。
解决方案:
1)在页面加载时,创建一个变量并将startDate文本框值存储在其中,使用settimeout函数定期检查变量的文本框值,并调用函数来更改文本框。
2)文档准备好并加载dom后,编写代码将textbox readonly属性设置为FALSE并设置disabled = true。然后绑定并使用change事件。
$(document).ready(){function(){ your code here });
3)使用jquery UI datepicker,它易于使用和实施。