XElement element = null;
int? x = (int?) element; // null
int y = (int) element; // Bang
组合框是一个复杂的元素,由多个元素组成(输入,箭头按钮,保持值的不可见输入),如下所示。上面的表达式在不可见的输入元素上添加了绑定表达式。
Html.Kendo().ComboBoxFor(m => m.CityId).HtmlAttribute("data-bind", "enable: IsCityEnabled")
因此模型的变化只会影响隐形元素
我需要一个通用的解决方案,而无需为淘汰模型成员添加订阅者。
答案 0 :(得分:0)
解决方案
var control = $("#" + ControlName).data("kendoComboBox");
// configuration of the observer:
var config = { attributes: true, childList: false, characterData: true };
// create an observer instance
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.type === "attributes") {
if (mutation.attributeName === "disabled") {
control.enable(!mutation.target.disabled);
observer.disconnect();
observer.observe(control.element[0], config);
}
}
});
});
// pass in the target node, as well as the observer options
observer.observe(control.element[0], config);