2011-03-31 155 views
3

我有一个<asp:ComboBox>填充<asp:CheckBoxes>。 Combobox宽200px。复选框也是200px宽。复选框选择区域

只有当我点击'框'或复选框文本标签时,我才能检查复选框。即使点击行中的任何位置,我也希望能够检查该项目。

有什么办法可以将这个区域扩展到整行?

更新: enter image description here

在绿色区域,一切都很好。 但是,当我点击红色区域时,复选框没有被选中,下拉列表上升。

<telerik:RadComboBox runat="server" EnableTextSelection="false" 
        ID="rcb_Something" 
        Width="200px" 
        HighlightTemplatedItems="true" 
        AllowCustomText="true" 
        Text="Select Something" 
        MaxHeight="250px"> 
        <ItemTemplate>                
          <telerik:RadBinaryImage ID="RadBinaryImage1" runat="server" 
                Width="24px" 
                Height="24px" 
                DataValue='<%# Eval("Something") %>' 
                ResizeMode="Fit" />  

                <asp:CheckBox ID="CheckBox1" 
                 runat="server" 
                 Text='<%# Eval("Something") %>' 
                 ToolTip='<%# Eval("SomethingId") %>' 
                /> 



        </ItemTemplate>                 

+0

更多细节将有助于:什么是你想要点击的整排?表格行? – Druid 2011-03-31 13:01:35

+0

我用代码更新了问题。行是组合框中的一个项目。它不必是整行可点击的。如果我可以以某种方式禁用点击项目背景,只有复选框可以点击,这对我来说就足够了。这使我感到棘手,因为当我点击物品背景下拉列表时已关闭。 – 1110 2011-03-31 13:19:00

回答

2

做的书上说 - 在HTML中,有标签的标签标签添加到每个输入字段。

<label for="male">Male</label> <input type="radio" name="sex" id="male" /> 

标签上的任意位置单击,将激活该输入,这同样适用于输入类型=文本

+0

这不是我所需要的。我用图像更新了问题。 – 1110 2011-03-31 13:00:51

+2

@ 1110:给出标签'display:block'和'height:100%',这样就填满了整个单元格。如果您需要更多地扩展该区域,则需要使用JavaScript。 – RoToRa 2011-03-31 13:13:44

0

好吧,我找到解决方案。我只是禁用了以下代码的组合框背景。

的JavaScript

功能StopPropagation(E){// 取消鼓泡 e.cancelBubble = TRUE;如果(e.stopPropagation){e.stopPropagation();}}。 }}

ASPX

<div onclick="StopPropagation(event)"> 



<asp:CheckBox ID="CheckBox1" 
       runat="server" 
       Text='<%# Eval("something") %>' 
       ToolTip='<%# Eval("somethingId") %>' 
       /> 
</div>