我有一个UserControl,其中有一个DropDownList。我正在使用此代码将禁用的分隔符添加到项目列表中:
ListItem separador1 = new ListItem(" -- -- -- -- -- ", "Separador");
separador1.Attributes.Add("disabled", "true");
this.ddlPais.Items.Add(separador1);
当用户控件正常显示在页面中时,它可以正常工作,但当它位于JQuery UI对话框中时,分隔符项目没有启用属性,当然它们已启用。
重要提示:我还是在输入问题的同时设法解决了我的问题。无论如何我会发布它,以防有人遇到我认为是jquery错误。
解决方法是在打开JQuery对话框后添加disabled属性。
$("#" + PanelClientId).dialog( "open" );
$("#" + PanelClientId).parent().appendTo(jQuery("form:first"));
$('option[value="Separador"]').attr('disabled','true'); //This is new in my code
答案 0 :(得分:0)
如果您想在代码中解决此问题,请使用:
separador.Attributes.Add("disabled", "disabled");
我认为问题是当代码通过jQuery添加到DOM时,该属性不会被识别为有效。
答案 1 :(得分:0)
我设法用一种解决方法来修复它。解决方案是在每个pageLoad中添加disabled属性;因为我正在使用UpdatePanel,所以必须是客户端pageLoad才能在每次异步回发后禁用项目。
<script type="text/javascript">
function pageLoad(sender, args) {
$('option[value="Separador"]').attr('disabled','true');
}
</script>