0

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

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

这与输入一起工作:

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

这是在一个表中搜索一个 jquery 数据表。

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

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

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

任何的意见都将会有帮助。

更新

这是我试图调用的更多函数:

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

我拥有的大部分代码我都无法分享,因为它是为我工作的公司提供的,但是从上面的代码中我没有得到警报声明。

4

1 回答 1

0

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

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

这将使触发延迟dateChanged()半秒,并且——如果时间是问题——将给 IE 足够的时间来实现onSelect事件已经触发。

于 2013-02-01T20:53:56.963 回答