如何使用 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 for Angular:Kendo UI Datepicker 禁用输入/仅文本框部分
Kendo UI Mobile 如何禁用 touchmove 绑定