2011-03-31 258 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>