RadComboBox不会在单击时折叠

时间:2014-06-03 22:02:34

标签: c# html asp.net telerik

当您单击典型的ComboBox时,它会展开。当您再次单击它时,它会崩溃。

当您单击RadComboBox时,它会展开。再次单击它时,没有任何反应。也就是说,除非您单击箭头或实际进行选择。

我希望我的RadComboBox在第二次点击时崩溃,就像普通的ComboBox一样。由于RadComboBox用自己的CSS样式转换成一堆乱七八糟的HTML,我不知道如何去做。

以下是我宣布控制的方式。

public static RadComboBox makeARadicalBox() {
    RadComboBox cmbo = new RadComboBox();
    cmbo.ID = "MyRadicalComboBox";

    List<string> listItems = getListItems();
    foreach (string s in listItems)
        cmbo.Items.Add(new RadComboBoxItem(s));

    cmbo.Skin = "myRadicalSkin";

    // TODO - Make the *entire* box clickable instead of just the little arrow

    return cmbo; 
}

1 个答案:

答案 0 :(得分:1)

知道了。单击RadComboBox时,如果下拉列表打开,则隐藏下拉列表,否则显示下拉列表。然后mouseup部分不会闪烁(快速打开/关闭)。

JavaScript的:

<script type="text/javascript">

    function onLoad(sender) {
        var div = sender.get_element();

        $telerik.$(div).mousedown(function (e) {
            if (sender.get_dropDownVisible()) {
                sender.hideDropDown();
            }
            else {
                sender.showDropDown();
            }
        });

        $telerik.$(div).mouseup(function (e) {
            if (!sender.get_dropDownVisible()) {
                sender.hideDropDown();
            }
        });
    }

</script>

的.aspx:

<telerik:RadComboBox runat="server" ID="RadComboBox1" 
ShowDropDownOnTextboxClick="false" OnClientLoad="onLoad">
    <Items>
        <telerik:RadComboBoxItem runat="server" Text="FoodStorage" />
        <telerik:RadComboBoxItem runat="server" Text="Freezer" />
        <telerik:RadComboBoxItem runat="server" Text="Fridge" />
        <telerik:RadComboBoxItem runat="server" Text="Microwave" />
        <telerik:RadComboBoxItem runat="server" Text="OnTheGo" />
        <telerik:RadComboBoxItem runat="server" Text="Pantry" />
    </Items>
</telerik:RadComboBox>