1

我的 UI 中有 2 个 RadComboBox。根据一个 RadComboBox1 selectionChanged 我想从 RadComboBox2 中删除一项。

我已经尝试过,但无法从 RadComboBox2 中删除该项目。我的代码:

<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
    <script type ="text/javascript" language="javascript" >
        function ComboBox1_SelectionChanged(sender, eventArgs) {
            var d = $find("<%=ComboBox2.ClientID%>");
            var item = eventArgs.get_item();
            if (item.get_text() == 'Check Out') {
                d.disable();
                d.set_text('N/A');
            }
            else {
                d.enable();
                var items = d.get_items();
                var comboItem = d.findItemByText("N/A"); //remove "N/A" and want to select "A"
                items.remove(comboItem);
                d.set_text('A');

            }
        }
    </script>
    </telerik:RadScriptBlock>
4

1 回答 1

1

我认为您缺少该代码中的“trackChanges”属性。我编写了自己的代码进行测试并且工作完美。

让我知道是否还有其他我可以提供的帮助:)

<telerik:RadComboBox runat="server" ID="rcb1" Label="ComboBox 1" OnClientSelectedIndexChanged="rcb1_SelectedIndexChanged">
    <Items>
        <telerik:RadComboBoxItem Text="Select Something" Value="0" />
        <telerik:RadComboBoxItem Text="Item 1" Value="1" />
        <telerik:RadComboBoxItem Text="Item 2" Value="2" />
        <telerik:RadComboBoxItem Text="Item 3" Value="3" />
    </Items>
</telerik:RadComboBox>

<telerik:RadComboBox runat="server" ID="rcb2" Label="ComboBox 2">
        <Items>
        <telerik:RadComboBoxItem Text="Item 1" Value="1" />
        <telerik:RadComboBoxItem Text="Item 2" Value="2" />
        <telerik:RadComboBoxItem Text="Item 3" Value="3" />
    </Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock runat="server" ID="sb1">
    <script>
        function rcb1_SelectedIndexChanged(sender, eventArgs) {

            var item = eventArgs.get_item();
            var d = $find("<%=rcb2.ClientID%>");

            var comboItem = d.findItemByValue(item.get_value());
            if (comboItem) {
                d.trackChanges();
                d.get_items().remove(comboItem);
                d.commitChanges();
            }
        }
    </script>
</telerik:RadScriptBlock>
于 2013-09-30T15:29:57.537 回答