<select id="ddlFailureCategory" class="full-width"
required="required"
data-required-msg="@(String.Format(Resources.Error.RequiredField, Resources.Wording.FailureCategory))"
data-bind="source: DataSource.FailureCategoryDropDown, value: ViewModel.FailureCategory, disabled: Layout.isDisabled"
data-role="dropdownlist"
data-value-primitive="true"
data-value-field="Code"
data-text-field="Description">
</select>
&#13;
我有一个使用MVVM绑定初始化的下拉列表,并按预期禁用它。
现在在某些情况下,我希望在其他控件触发的某些事件中启用此下拉列表程序。
在那个事件处理程序中,我称之为:
$("#ddlFailureCategory").data("kendoDropDownList").enable(true);
,如API Kendo DropDownlist API: enable
中所述但是它不起作用,下拉列表仍然被禁用,而没有任何JavaScript错误。
我也试图直接在Chrome开发者控制台中输入JavaScript,找到该元素,.data()
&amp;调用.enable()
时没有任何错误。
我的方法有什么问题,我怎样才能实现预期的行为?感谢
答案 0 :(得分:1)
要展开@AndreiDragotoniu的答案,如果Layout
是您的视图模型,则需要将isDisabled
设置为false
。
但要做到这一点,你需要将其作为 Layout.set('isDisabled', false);
,只是直接分配值不会触发双向绑定的相应事件。
答案 1 :(得分:0)
下拉列表的禁用状态由
控制Layout.isDisabled
如果符合您想要的条件,请将其设置为false。
Layout.isDisabled = false;
如果你使用MVVM然后使用MVVM,不要试图绕过它以获得你需要的东西。