DropDownList с грязными формами jQuery плагин

Я хотел бы использовать плагин jQuery dirtyForms, чтобы проверить, не загрязнены ли мои формы. Но похоже, что DropDownList не основан на стандартном HTML-теге select. Кажется, вместо этого он использует

  • HTML-тег Почему этот выбор? Из-за этого плагин jquery dirtyForms не устанавливает мои формы грязными, когда я просто изменяю значение DropDownList...

  • 2 ответа

    Похоже, что это ошибка, которая была исправлена ​​в запросе 27, что позволило обеспечить кросс-браузерную совместимость с выбранными элементами.

    Или, возможно, вы не правильно проигнорировали все сторонние виджеты на странице, которые имеют разметочные элементы в своей разметке.

    Я ничего не знаю о kendo-ui или dirtyForms, поэтому постараюсь ответить на этот вопрос, посмотрев на API. DropDownList кендо-интерфейса имеет change событие, которое выглядит, чтобы быть запущенным только при изменении ввода в DropDownList. Кроме того, dirtyForms позволяет вручную настроить форму на "грязный". Соединяя их вместе, я бы предположил, что следующее должно сработать.

    $("#dropdownlist").kendoDropDownList({
        change: function(e) {
            $('form').dirtyForms('setDirty');
        }
    });
    

    Изменить: так как вы, кажется, хотите, чтобы это влияло на все DropDownList's, вы можете сделать следующее.

    kendo.ui.DropDownList.fn._change = function(e) {
        if(this.element && this.element.form)
            $(this.element.form).dirtyForms('setDirty');
    }
    

    Это кажется довольно хакерским, и я не уверен, что рекомендую это сделать. Это может сломать другие вещи.

    Другие вопросы по тегам