RadComboBox с флажками AJAX проблема - PullRequest
1 голос
/ 09 июня 2011

Я создал radcombobox со списком флажков.Пользователь может установить несколько флажков, и когда он проверяет некоторые метки элемента на странице, необходимо обновить (this.label.text + = someValue).Я добавил Ajax: UpdatePanel с асинхронным триггером для этого radcombobox, но проблема в том, что пользователь закрывает сам выпадающий список элементов проверки :( Как я могу предотвратить закрытие выпадающего списка? Вот что я пробовал:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<telerik:RadComboBox runat="server" ID="rcb" Width="200px" HighlightTemplatedItems="true" 
    AllowCustomText="true" Text="Select Item" MaxHeight="250px" EnableTextSelection="false" AutoPostBack="true"
    OnClientSelectedIndexChanging="OnClientSelectedIndexChanging()">
    <Items>
        <telerik:RadComboBoxItem Value="0" Text="Select..." />
        <telerik:RadComboBoxItem Value="1" Text="Small" />
        <telerik:RadComboBoxItem Value="2" Text="Medium" />
        <telerik:RadComboBoxItem Value="3" Text="Large" />
    </Items>
    <ItemTemplate>        
            <asp:CheckBox onclick="stopPropagation(event);" ID="chk_Category" runat="server" Text="test" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged" />       
    </ItemTemplate>    
</telerik:RadComboBox>

<dnn:label ID="lbl" runat="server" Text="nothing" />

</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="rcb"/>    
</Triggers>
</asp:UpdatePanel>

<script type="text/javascript" language="javascript">
        // <![CDATA[
    function stopPropagation(e) {        
        e.cancelBubble = true;
        if (e.stopPropagation) {
            e.stopPropagation();
        }
    }
    function OnClientSelectedIndexChanging(item) {       
        return false;
    }

                // ]]>
</script>

1 Ответ

1 голос
/ 09 июня 2011

Как правило, раскрывающийся список закрывается при нажатии на элемент; мы используем флажок в шаблоне поля со списком, и закрытие происходит только при нажатии на сам элемент (который выбирает элемент, и это сбивает с толку).

Проблема в том, что каждый флажок отправляет сообщение обратно на сервер, поэтому это наиболее вероятная причина. Нужно ли отправлять ответный флажок обратно на сервер после его нажатия? Альтернативный подход заключается в том, чтобы читать элементы управления флажками из каждого элемента оптом или каждый раз, когда элемент проверяется, сохранять значения отмеченных элементов в скрытом элементе управления.

В качестве альтернативы, в качестве FYI, для выпуска Q2 2011 года, появится следующая функция: множественный выбор с режимом флажков. Поэтому флажки будут функцией по умолчанию в поле со списком. Если у вас есть поддержка, вы можете обновить ее в ближайшее время.

НТН.

...