我有一个日期选择器,它具有将在日期选择器输入字段上执行“更改”功能的onSelect属性。 “更改”事件运行一个函数来填充选择列表。只要我选择日期选择器,这项工作就会生效,但如果我在输入字段中手动输入日期,则更改事件将执行两次,而选择列表将具有重复值。日期选择器更改事件在手动输入时触发多次
$("#txtStartDate").datepicker({
defaultDate: +1,
dateFormat: "mm/dd/yy", //yy format represents a (4) digit year
minDate: new Date($("#ctl00_ContentPlaceHolder2_hidfldJunDate").val()),
maxDate: new Date($("#ctl00_ContentPlaceHolder2_hidfldMayDate").val()),
showOtherMonths: true,
changeMonth: true,
changeYear: true,
beforeShowDay: $.datepicker.noWeekends,
firstDay: 1,
showButtonPanel: true,
showOn: "button",
onSelect: function() { $(this).change(); },
buttonImage: "../Scripts/JQuery/ui/calendar.gif",
buttonImageOnly: true
}).mask("99/99/9999");
$("#txtStartDate").change(function() {
if (($("#txtStartDate").val() != "") && ($("#txtStartDate").val() != "__/__/____")) {
var DoDate = CheckDate($("#txtStartDate").val());
if (DoDate != "Good") {
alert("Please enter a valid Start Date");
$("#txtStartDate").val("");
$("#txtStartDate").focus();
}
else {
SemesterList($("#txtStartDate").val(), 0);
}
}
});
那么做我需要做什么来防止这种改变事件的多次点火,所以我不会在选择列表中得到重复。我甚至尝试过selectlist.remove,认为这会删除列表中的所有元素,但它仍然会倍增。
任何帮助表示赞赏。
删除$(本)从ONSELECT方法.change(),但该方法是(即使现在它是空的),这 黑客在我的测试中工作 – minhajul 2015-10-12 14:20:54