datepickerの入力フィールドに「変更」機能を実行するonSelectプロパティを持つdatepickerがあります。 「変更」イベントは、選択リストを満たすための関数を実行する。これはdatePickerを選択している限り動作しますが、手動で入力フィールドに日付を入力すると、changeイベントが2回実行され、選択リストに値が重複して表示されます。手動入力時に日付ピッカー変更イベントが複数回発生する
$("#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を試してみましたが、それでもまだ増やしています。
何か助けていただければ幸いです。
削除$(この).change()が、(今でもその空が)この方法を保つ、 このハックに私のテストで働いた – minhajul