Отключено ListItem включается при отображении в диалоге пользовательского интерфейса JQuery - PullRequest
0 голосов
/ 22 марта 2012

У меня есть UserControl и в нем DropDownList.Я использую этот код для добавления отключенного разделителя в список элементов:

ListItem separador1 = new ListItem(" -- -- -- -- -- ", "Separador");
separador1.Attributes.Add("disabled", "true");
this.ddlPais.Items.Add(separador1);

Он работает нормально, когда пользовательский элемент управления отображается на странице в обычном режиме, но когда он находится в диалоге пользовательского интерфейса JQueryэлементы разделителей не имеют включенного атрибута и, конечно же, они включены.

Важное примечание : мне удалось решить мою проблему, все еще печатая вопрос. Я все равно опубликую егоесли кто-то испытывает то, что я считаю ошибкой jquery.

Решением было добавить атрибут disabled после открытия диалога JQuery.

$("#" + PanelClientId).dialog( "open" );
$("#" + PanelClientId).parent().appendTo(jQuery("form:first"));    
$('option[value="Separador"]').attr('disabled','true'); //This is new in my code

Ответы [ 2 ]

0 голосов
/ 22 марта 2012

Мне удалось исправить это с помощью обходного пути. Решением было добавить отключенный атрибут в каждый pageLoad; это должно быть pageLoad на стороне клиента, чтобы отключать элементы после каждой асинхронной обратной передачи, так как я использую UpdatePanel.

<script type="text/javascript">
    function pageLoad(sender, args) { 
        $('option[value="Separador"]').attr('disabled','true');
    }
</script>
0 голосов
/ 22 марта 2012

Если вы хотите решить это в коде, просто используйте:

separador.Attributes.Add("disabled", "disabled");

Мне кажется, проблема в том, что когда код добавляется в DOM через jQuery, атрибут не распознается как действительный.

...