如何使用 jquery 禁用 kendo ui 下拉列表?

Posted

技术标签:

【中文标题】如何使用 jquery 禁用 kendo ui 下拉列表?【英文标题】:how to disable kendo ui dropdown list with jquery? 【发布时间】:2016-04-18 05:48:53 【问题描述】:

我正在使用剑道 UI 下拉列表,我是剑道 UI 的新手。如果 @TrackingHelper.CurrentUser.IsViewTestCallType 返回 False,我想禁用下拉列表。

 @(html.Kendo().DropDownListFor(i => i.CallTypeId)

                                                    .Name("CallTypeId")
                                                    .HtmlAttributes(new  style = "width:100%" )
                                                    .DataTextField("MasterValueName")
                                                    .DataValueField("MasterValueId")
                                                    .Events(x => x.Open("ManageSecurity"))
                                                    .DataSource(source =>
                                                    
                                                        source.Read(read =>
                                                        

                                                            read.Action("GetCallType", "Common", new  Area = "" );

                                                        );
                                                    )
                                                    .OptionLabel("Select Call Type")
                                            )

我在 jquery 中这样做:

 $(document).ready(function ()
    
        debugger;
        var result = '@TrackingHelper.CurrentUser.IsViewTestCallType';
        if (result == "False")
        
            $("#CallTypeId").prop("disabled", true);

        

    );

任何建议将不胜感激。提前致谢。

【问题讨论】:

有什么问题?代码不工作? 我发布这个是为了好玩;),伙计它不起作用,这就是问题在这里的原因 你检查过调试发生了什么吗? Wild gess:将您的 if 更改为 if (result == "False" || result == "false" || result == false) 是的,我检查了结果的值为“False” 还有$("#CallTypeId").prop('disabled', 'disabled'); 【参考方案1】:

使用小部件的启用方法。

$("#CallTypeId").data("kendoDropDownList").enable(false); 

【讨论】:

我是这样尝试的 var drp= $("#CallTypeId").data("kendoDropDownList"); drp.options.enabled = false;谢谢你的帮助,你节省了我很多时间。上帝保佑你@uygar donduran【参考方案2】:

在 cmets 之后,我可以说你只是没有得到你的 select。我想你应该像这样选择它:

$(document).ready(function ()
    
        debugger;
        var result = '@TrackingHelper.CurrentUser.IsViewTestCallType';
        if (result == "False")
        
            $("select[name=CallTypeId]").prop("disabled", "disabled");
        
    );

如果你想像你已经使用的那样使用id 选择器,你应该检查你的Kendo().DropDownListFor 的ID 是什么

【讨论】:

我已经测试了选择器,它很好,也尝试了你的建议,但它仍然不起作用:( 我在我的问题中添加了渲染 html 的屏幕截图【参考方案3】:

使用此代码

$("input[id=dropdownId]").prop("disabled", "disabled");

【讨论】:

以上是关于如何使用 jquery 禁用 kendo ui 下拉列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kendo UI Charts 中禁用饼图的交互式图例?

如何在 Kendo UI 数据源中禁用“读取”请求缓存

Kendo UI for Angular:Kendo UI Datepicker 禁用输入/仅文本框部分

Kendo UI Mobile 如何禁用 touchmove 绑定

编辑网格时,如何按行禁用特定字段? Kendo UI ASP.Net MVC 包装器

如何使用 JQuery 在 Kendo Ui Grid 上刷新“页脚”