Javascript 在日期选择器中选择日期会触发错误事件
我的网站上有两个元素Javascript 在日期选择器中选择日期会触发错误事件,javascript,jquery,asp.net,javascript-events,jquery-ui-datepicker,Javascript,Jquery,Asp.net,Javascript Events,Jquery Ui Datepicker,我的网站上有两个元素 <asp:DropDownList CssClass="SelectionDDL" ID="ddlClientMapFilter" runat="server"></asp:DropDownList> 以及页面上的其他地方,在Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onSynchPostBack) 现在是奇怪的部分 除了每次我使用任何一个日期选择器选择一个日期时,就会
<asp:DropDownList CssClass="SelectionDDL" ID="ddlClientMapFilter" runat="server"></asp:DropDownList>
以及页面上的其他地方,在Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onSynchPostBack)代码>
现在是奇怪的部分
除了每次我使用任何一个日期选择器选择一个日期时,就会触发下拉事件之外,一切似乎都正常。我知道解决方案很简单,添加if并检查是否存在事件的目标是该下拉列表,但我想知道如何不触发该事件,并且我在该事件旁边附加了大量其他事件,仅触发了该事件
显然某个地方有个bug,但我不知道如何找到它。有什么想法吗?这是因为()上的的第二个参数(在委托语法中)必须是选择器字符串,而不是jQuery对象
$(function(){
$(document).on("change", "#ddlClientMapFilter", function() {
RefreshMapList();
});
});
演示:
在演示中,第一个处理程序仅在#x
元素更改时启动,而第二个处理程序在任何输入更改时启动
根本原因似乎是,如果第二个参数不是字符串,那么它将被视为数据参数(您可以检查事件对象的data
属性来测试这一点)
演示:
$(function(){
$(document).on("change", $("#ddlClientMapFilter"), function() {
RefreshMapList();
});
});
function OnAsychPostback(s, e) {
$("#tbFromDate").datepicker({
defaultDate: "-1",
changeMonth: true,
numberOfMonths: 3,
onClose: function (selectedDate) {
$("#tbToDate").datepicker("option", "minDate", selectedDate);
}
});
$("#tbToDate").datepicker({
//defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function (selectedDate) {
$("#tbFromDate").datepicker("option", "maxDate", selectedDate);
}
});
}
$(function(){
$(document).on("change", "#ddlClientMapFilter", function() {
RefreshMapList();
});
});