RadComboBox 与复选框 AJAX 问题

发布于 2024-11-15 04:02:18 字数 1721 浏览 3 评论 0原文

我创建了带有复选框列表的 radcombobox。用户可以选择多个复选框,当他选中页面上的某些项目标签时,必须更新(this.label.text += someValue)。我在 radcombobox 上添加了带有异步触发器的 Ajax:UpdatePanel 但问题是当用户检查项目下拉列表时自行关闭它:( 如何防止关闭下拉列表?这里是我尝试过的:

<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>

I have created radcombobox with list of checkboxes. User can select multiple checkboxes and when he check some item label on page must be updated (this.label.text += someValue). I added Ajax:UpdatePanel with async trigger on that radcombobox but problem is when user check item dropdown list close it self :( How can I prevent closing dropdown list? Here what I have tried:

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦途 2024-11-22 04:02:18

通常,当您单击该项目时,下拉菜单会关闭;我们在组合框模板中使用了一个复选框,并且仅在单击项目本身时经历了关闭(这会选择该项目,这会变得令人困惑)。

这里的问题是每个复选框都会发送回服务器,因此这是最可能的原因。单击后是否必须将复选框响应发送回服务器?另一种方法是批量读取每个项目的复选框控件,或者每次选中某个项目时,将选中项目的值存储在隐藏控件中。

或者,仅供参考,对于 2011 年第二季度的版本,即将推出此功能:带有复选框模式的多重选择。因此复选框将成为组合框的默认功能。如果您有支持,您可以很快升级。

HTH。

Typically, the drop down closes when you click on the item; we use a checkbox in the combo box template, and only experienced the closing when clicking on the item itself (which selects the item, and that becomes confusing).

The issue here is that each checkbox posts back to the server, so that is the most likely cause. Do you have to send the checkbox response back to the server after clicking it? An alternative approach is to read the checkbox controls from each item in bulk, or every time an item is checked, store the values of the checked items in a hidden control.

Alternatively, as an FYI, for the Q2 release of 2011, upcoming is this feature: Multiple select with checkboxes mode. So checkboxes will be a default feature of the combo box. If you have support, you can upgrade shortly.

HTH.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文