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>
「您是否必須在點擊後將複選框響應發送回服務器?」,是的。因爲每個複選框都是某個值爲ind數據庫的ID。 – 1110 2011-06-09 12:17:46
嘿,好的,那麼儘管你可能一直有這個問題。因爲發生的是響應回來並抹掉原始響應,新響應的下拉關閉。你需要做的是可編程地打開下拉菜單。不知道你是否可以做那個服務器端。或者,不會捕獲ID並構建存儲在隱藏字段中的列表(全部由客戶端JavaScript完成),也可以在此場景中使用? – 2011-06-09 12:24:38
最後我選擇使用複選框列表。也許在新的telerik版本出來時切換它。不管怎麼說,還是要謝謝你。 – 1110 2011-06-09 12:58:21