javascript - 如何启用禁用 MVVM 的 Kendo DropDownList?

标签 javascript asp.net-mvc kendo-asp.net-mvc kendo-mvvm

<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>

我有一个使用 MVVM 绑定(bind)初始化的下拉列表,并且按预期禁用。

现在在某些情况下,我想在其他控件触发的某些事件中以编程方式启用此下拉列表。

在该事件处理程序中,我将此行称为:

$("#ddlFailureCategory").data("kendoDropDownList").enable(true);

如 API Kendo DropDownlist API: enable 中所写

但是它不起作用,下拉列表仍然被禁用,同时没有任何 JavaScript 错误。

我也尝试直接在 Chrome 开发者控制台中输入 JavaScript,找到了该元素,.data().enable() 被调用,没有任何错误.

我的方法有什么问题以及如何实现预期的行为?谢谢

最佳答案

扩展@AndreiDragotoniu的答案,如果 Layout 是您的 View 模型,您需要将 isDisabled 设置为 false

但要做到这一点,你需要将其设置为 Layout.set('isDisabled', false);,直接赋值不会触发双向绑定(bind)的适当事件。

关于javascript - 如何启用禁用 MVVM 的 Kendo DropDownList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958213/

相关文章:

javascript - 如何在内存中创建一个文件供用户下载,而不是通过服务器?

c# - 重命名 ASP.NET Identity 表时出现重复的外键

java - 比较新项目的 ASP.NET MVC 和 Grails

javascript - 当我们在剑道网格中已经实现了编辑选项时如何添加动态行(列中有下拉列表)

javascript - Java 脚本函数保持直到保存事件执行完成

javascript - Highcharts : plot line click event for multiple chart

c# - 为什么 ASP.NET MVC 模板 View 使用 Html.DisplayFor 来显示不属于模型的数据?

kendo-ui - 我可以在网格的数据绑定(bind)事件上传递参数吗?

kendo-asp.net-mvc - 在 Kendo Scheduler for ASP.NET MVC 中将某些约会标记为不可选择

javascript - 使用 .hide() 隐藏导航栏