jquery datepicker onSelect不会在Internet Explorer中调用自定义函数

时间:2013-02-01 19:41:22

标签: javascript jquery html

我有一个初始化的日期选择器,例如:

$("#startDate").datepicker({ onSelect: dateChanged });

这与输入结合使用:

<input type="text" id="startDate" value="" class="dateField"/>

在表中,用于搜索jquery dataTable。

这在chrome中效果很好,但在IE中无效。我的目标是让今天的数据填充dataTable,然后当开始日期更改为onSelect应调用dateChanged函数的上一个日期时。 dateChanged函数负责再次查询数据库,但具有更早的日期。

在IE中,当您选择日历出现的日期文本框时(好)。当您选择所需的日期时,日历不会消失。

我有一个没有问题的测试函数调用。区别在于测试函数只有一个警报,dateChanged函数有变量初始化和查询调用。在我创建任何类型的变量之前,它似乎工作正常。

任何建议都会有所帮助。

更新

以下是我试图调用的功能:

function dateChanged(){  
        var StartTime = startDate.value;  
    var EndTime = endDate.value;  
    alert("hello");  
    var cmecProx2 = new cmec();  
...  
}

我拥有的大部分代码都无法分享,因为它适用于我所工作的公司,但是从上面的代码我没有得到警告声明。

1 个答案:

答案 0 :(得分:0)

某些浏览器不会及时触发事件。那么在FF / Chrome中运行良好的东西在IE中可能根本不起作用。通过在超时中包装事件代码,我在这些情况下取得了很好的成功。

$("#startDate").datepicker({ onSelect: function(){setTimeout(dateChanged, 500);} });

这会将dateChanged()的触发延迟半秒,并且 - 如果时间问题 - 将给IE足够的时间来实现onSelect事件已被解雇。