我想使用 jQuery 插件 dirtyForms 来检查我的表单是否脏。但看起来DropDownList并不基于标准的选择HTML标签。相反,它似乎正在使用
我对 kendo-ui 或 dirtyForms 一无所知,所以我会尽力通过查看 API 来回答这个问题。kendo-ui DropDownList 有一个 change
事件,该事件看起来只会在 DropDownList 中的输入发生更改时触发。此外,脏窗体有一种方法可以手动将窗体设置为脏。将两者放在一起,我想以下内容应该有效。
$("#dropdownlist").kendoDropDownList({
change: function(e) {
$('form').dirtyForms('setDirty');
}
});
编辑:由于您似乎希望这会影响所有DropDownList,因此您可以执行以下操作。
kendo.ui.DropDownList.fn._change = function(e) {
if(this.element && this.element.form)
$(this.element.form).dirtyForms('setDirty');
}
这似乎有点黑客,我不确定我是否建议这样做。它可能会破坏其他东西。
这听起来像是在拉取请求 27 中修复的错误,该错误允许与选定元素的跨浏览器兼容性。
或者,可能是您没有正确忽略页面上所有标记中包含锚元素的第三方小部件。