禁用ListItem在JQuery UI对话框中显示时启用

时间:2012-03-22 17:02:00

标签: jquery asp.net jquery-dialog

我有一个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

2 个答案:

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