我有一个 **Rad 组合框**,其中有两个分隔符。如何仅从分隔符中删除复选框?

I have a **Rad Combo Box** in which i have two separator's .How can I remove checkbox only from separator's?

<telerik:RadComboBox ID="RadComboBoxSites" runat="server"
     CheckBoxes="true" EnableCheckAllItemsCheckBox="true" 
     DataTextField="SiteName" DataValueField="SiteUid" 
     AppendDataBoundItems="true" OnItemDataBound= "RadComboBoxSites_ItemDataBound" 
     EmptyMessage="Please Select a site..." MaxHeight="192px"></telerik:RadComboBox>

我有一个 RadComboBox,其中有两个分隔符。如何仅从分隔符中删除复选框?

您可以通过将以下 JavaScript 添加到您的页面来删除 separator 项的复选框。您必须在您的网页中包含 jquery 才能工作。

从分隔项中删除复选框

<script type="text/javascript">

      function pageLoad() {
             $(".rcbItem.rcbSeparator :checkbox").remove();
      }

</script>

此外,我建议您适当设置分隔项的样式,使它们看起来与常规项不同。您可以为此使用类似下面的内容。

设置分隔项的样式

   <head>
    <style>
    .rcbSeparator
     {
         color: red !important;
         margin-left:10px !important;
     }
    </style>
   </head>

更新 1

如果您想避免检查分隔项,请将 OnClientItemChecking 的 client-side 事件处理程序附加到 radomboBox,如下面的标记所示。将事件处理程序脚本也添加到您的页面。

用于订阅 OnClientItemChecking 事件的标记

 <telerik:RadComboBox ID="RadComboBox2" runat="server" Width="300px" Skin="Metro" 
    MaxHeight="400px" CheckBoxes="true" OnClientItemChecking="OnClientItemChecking" 
    EnableCheckAllItemsCheckBox="true" ></telerik:RadComboBox>

JavaScript 这将防止在单击分隔项时增加检查计数

<script type="text/javascript">
          function OnClientItemChecking(sender, args) {
                if (args.get_item().get_isSeparator() === true) {
                    args.set_cancel(true);
                }
            }
</script>

似乎没有针对此的直接设置,但有一些解决方法: