Javascript 带有复选框的RadComboBox AJAX问题
我已经创建了带有复选框列表的radcombobox。用户可以选择多个复选框,当他选中某些项目时,页面上的标签必须更新(this.label.text+=someValue)。我在radcombobox上添加了带有异步触发器的Ajax:UpdatePanel,但问题是当用户检查项下拉列表自行关闭时:(我如何防止关闭下拉列表?这里是我尝试的:Javascript 带有复选框的RadComboBox AJAX问题,javascript,asp.net,ajax,telerik,radcombobox,Javascript,Asp.net,Ajax,Telerik,Radcombobox,我已经创建了带有复选框列表的radcombobox。用户可以选择多个复选框,当他选中某些项目时,页面上的标签必须更新(this.label.text+=someValue)。我在radcombobox上添加了带有异步触发器的Ajax:UpdatePanel,但问题是当用户检查项下拉列表自行关闭时:(我如何防止关闭下拉列表?这里是我尝试的: <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate>
<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>
//
通常,当您单击项目时,下拉列表关闭;我们在组合框模板中使用一个复选框,并且只有在单击项目本身时才经历关闭(这会选择项目,这会让人困惑)
这里的问题是,每个复选框都会发回服务器,这是最可能的原因。单击复选框后是否必须将其响应发送回服务器?另一种方法是批量读取每个项目的复选框控件,或者每次选中某个项目时,将选中项目的值存储在隐藏的co中控制 或者,作为供参考,对于2011年第二季度的发行版,即将推出的是此功能:复选框模式下的多重选择。因此复选框将是组合框的默认功能。如果您有支持,您可以很快升级
HTH.通常,当您单击项目时,下拉列表关闭;我们在组合框模板中使用复选框,并且只有在单击项目本身时才经历关闭(这会选择项目,这会让人困惑)
这里的问题是,每个复选框都会发回服务器,这是最可能的原因。单击复选框后是否必须将其响应发送回服务器?另一种方法是批量读取每个项目的复选框控件,或者每次选中某个项目时,将选中项目的值存储在隐藏的co中控制 或者,作为供参考,对于2011年第二季度的发行版,即将推出的是此功能:复选框模式下的多重选择。因此复选框将是组合框的默认功能。如果您有支持,您可以很快升级
HTH.“单击复选框响应后,是否必须将其发送回服务器?”,是的。因为每个复选框都是ind数据库中某个值的ID。嘿,好吧,尽管你可能总是会遇到这个问题。因为发生的事情是,响应返回并擦除原始响应,而新响应关闭了下拉列表。你需要做的是通过编程打开下拉列表。不知道是否可以在服务器端。或者,捕获ID并构建存储在隐藏字段中的列表(所有操作都由客户端JavaScript完成)在这种情况下不也有效吗?最后,我选择使用复选框列表。当新的telerik版本出现时,可能会切换它。无论如何,谢谢.NP,我还使用了RadC中的telerik RadListBoxomboBox,效果很好……”单击复选框后是否必须将其响应发送回服务器,是的。因为每个复选框都是ind数据库中某个值的ID。嘿,好吧,尽管你可能总是会遇到这个问题。因为发生的事情是,响应返回并擦除原始响应,而新响应关闭了下拉列表。你需要做的是通过编程打开下拉列表。不知道是否可以在服务器端。或者,捕获ID并构建存储在隐藏字段中的列表(所有操作都由客户端JavaScript完成)在这种情况下不也有效吗?最后,我选择使用复选框列表。当新的telerik版本出现时,可能会切换它。无论如何,谢谢.NP,我还使用了RadC中的telerik RadListBoxomboBox,效果很好。。。