Событие изменения Datepicker срабатывает несколько раз при ручном вводе - PullRequest
0 голосов
/ 29 марта 2012

У меня есть DatePicker, у которого есть свойство onSelect, которое будет выполнять функцию «изменение» в поле ввода datepicker.Событие «Изменить» запускает функцию для заполнения списка выбора.Это работает до тех пор, пока я выбираю указатель даты, но если я вручную введу дату в поле ввода, событие изменения будет выполнено дважды, и список выбора будет иметь дублированные значения.

    $("#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, думая, что это удалит все элементы в списке, но все равно умножается.

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 30 марта 2012

Используйте этот синтаксис для удаления оригинальной привязки Datepicker:

$("#txtStartDate").unbind('change').change(function () {
          // your code 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...