2011-06-09 81 views
1

我已經創建了具有複選框列表的radcombobox。用戶可以選擇多個複選框,當他檢查頁面上的一些項目標籤必須更新(this.label.text + = someValue)。我添加了Ajax:與UpdatePanel的異步觸發對radcombobox控件但是當用戶檢查項目下拉列表中接近它的自我:(我怎樣才能防止關閉下拉列表的問題是在這裏是我曾嘗試:帶複選框的RadComboBox AJAX問題

<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

通常情況下,降當您點擊該項目時,關閉會關閉;我們在組合框模板中使用複選框,並且只有在點擊項目本身(選擇項目,並且變得混亂)時纔會關閉。

此處的問題是每個複選框都會回發到服務器,所以這是最可能的原因。您是否必須在點擊後將複選框響應發送回服務器?另一種方法是從b中的每個項目讀取複選框控件ulk或每次檢查項目時,都將檢查項目的值存儲在隱藏控件中。

另外,作爲FYI,對於2011年第二季度的發佈,即將到來的是這個功能:多選與複選框模式。所以複選框將成爲組合框的默認功能。如果你有支持,你可以很快升級。

HTH。

+0

「您是否必須在點擊後將複選框響應發送回服務器?」,是的。因爲每個複選框都是某個值爲ind數據庫的ID。 – 1110 2011-06-09 12:17:46

+0

嘿,好的,那麼儘管你可能一直有這個問題。因爲發生的是響應回來並抹掉原始響應,新響應的下拉關閉。你需要做的是可編程地打開下拉菜單。不知道你是否可以做那個服務器端。或者,不會捕獲ID並構建存儲在隱藏字段中的列表(全部由客戶端JavaScript完成),也可以在此場景中使用? – 2011-06-09 12:24:38

+0

最後我選擇使用複選框列表。也許在新的telerik版本出來時切換它。不管怎麼說,還是要謝謝你。 – 1110 2011-06-09 12:58:21