2014-03-31 78 views
0

我有一個表格,並且在此表格中有一列完全是複選框。該表格將在移動設備上可見,所以如果複選框易於使用將會很好。所以我試圖找出如何讓表單元格父項td控制複選框的檢查。因此,用戶實際上並未點擊複選框本身,而是單擊表格單元格。爲此,我爲td設置了一個onclick函數,用於檢查或取消選中相應的複選框。只要用戶不單擊複選框本身,這可以正常工作。如果發生這種情況,盒子會檢查自己,然後取消自我檢查,因爲它遵循通常的做法,然後再調用自定義偵聽器。我試圖將該複選框設置爲禁用,但在Chrome中運行時會顯示一個禁止的巨人(禁止吸菸)符號。那麼是否有辦法讓整個複選框處於啓用狀態,但禁用了它的檢查功能?由父表格單元格控制的複選框

編輯:

我嘗試使用更高的z-index,它不喜歡,在所有。下面的代碼是什麼樣子:

<td style="text-align:center; width: 20%;"> 
     <div id="checkboxCell{{:#index}}" onclick="PageConfigHome.toggleCheckboxes({{:#index}});" style="position:absolute; z-index: 999;"> 
      <input type="checkbox" style="z-index: 1" onclick="PageConfigHome.toggleCheckBoxes(null);" id="checkbox{{:#index}}" class="HomeScreenCheckbox"/> 
     </div> 
    </td> 

解決方案: 我發現這個職位,解決了我的問題:Tick a checkbox in a table cell by clicking anywhere in the table cell

+0

可能的重複http://stackoverflow.com/questions/11324851/stop-checkbox-being-checked-twice-when-inside-an-li-with-a-click-event/11324876#11324876 – arty

回答

0

把一個絕對定位的DIV在相同的細胞,具有較高的z-index 。改爲將點擊事件放在DIV上。

0

你試圖傳遞一個event點擊事件,並使用event.stopPropagation();防止冒泡的事件?請參閱this

+0

This有點工作。我的意思是複選框在技術上被禁用的情況下被禁用。如果用戶只點擊複選框,它仍然會檢查框,是否可以將其綁定到div上? – Rhendar

+0

我不太明白這個問題。如果您可以爲您的問題發佈[FIDDLE](http://jsfiddle.net/),那將有所幫助(包括javascript)。如果沒有看到/瞭解代碼中發生了什麼,很難給出建議。 – dima

相關問題