0

我使用了来自所谓的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>
4

1 回答 1

1

输出(视图源)类似于

<input id="startDate" readonly="readonly" name="startDate" id = "startDate" type="text" size="20"  value="">

其中包含readonly="readonly"使您的输入只读,因为没有引发更改事件。

解决方案:

1) 在页面加载时,创建一个变量并将 startDate 文本框值存储在其中,使用 settimeout 函数定期检查文本框值与变量并调用函数来完成更改文本框的任务。

2) 一旦文档准备好并加载 dom,编写代码将文本框只读属性设置为 FALSE 并设置 disabled=true。然后绑定并使用更改事件。

$(document).ready(){function(){  your code here });

3) 使用jquery UI datepicker,易于使用和实现。

于 2012-12-19T05:08:16.713 回答