2013-09-29 54 views
-2

例如,如果我選中第一個複選框,那麼第二個複選框也會被選中,第二個複選框將依賴於第一個複選框。我有8checkboxes,所以他們是4對和陣列格式。我怎麼能這樣做?如何同時檢查2個複選框?

+0

請添加一些代碼。 –

+0

在第一個複選框更改事件上綁定處理程序。該處理程序應該根據第一個複選框設置第二個複選框的* checked *屬性。你試過了嗎? – kasitan

+0

有什麼問題? – nni6

回答

3

有幾種方法可以做到這一點。以下僅是其中一種可能性(另請參閱fiddle)。但由於本機不支持addEventListener,因此不適用於較老的IE。對細節可以在這裏找到:addEventListener on mdn

<input id="first-checkbox" type="checkbox" name="first"> 
<input id="second-checkbox" type="checkbox" name="second"> 

document.getElementById("first-checkbox").addEventListener("change", function() { 
    document.getElementById("second-checkbox").checked = this.checked; 
}); 

的說明:這指向「第二個複選框取決於第一」,但不會反之亦然工作。你可以保存添加一個點擊處理程序的元素引用給它們,然後將當前選中狀態設置爲未點擊複選框。此外,如果第一個選項未選中,此代碼將重置第二個複選框上的選中狀態。 (我不確定在閱讀你的問題時你確實想要做什麼。)

+2

綁定到'change'事件而不是'click'事件。複選框的狀態也可以用鍵盤改變。 –

+1

你也可以通過緩存你的選擇器來避免遍歷DOM。 – Pavlo

+0

@Pavlo'document.getElementById'是最有效的DOM選擇方法之一。使用它對性能影響可以忽略不計。 –

相關問題