0
我已經閱讀了許多關於選擇所有複選框的其他問題,但是找不到說明如何觸發其他複選框操作的問題。當主複選框被選中/取消選中時,點擊其他複選框onclick()
我有一個主複選框,當選中此複選框時,所有其他複選框也被選中。 問題是,其他複選框必須執行自己的操作,例如禁用文本字段.etc,如果它們被選中/取消選中。我通過在每個複選框上添加onclick來實現這一點。那麼如果選中主複選框,如何調用每個複選框onclick(或使每個複選框執行其操作)?
唸叨這之後我做了以下內容:
// main checkbox functin that checks/unchecks other checkboxes.
function toggleAllCheckBoxes(source , operationType) {
checkboxes = document.getElementsByName("checkBox" + operationType);
for each(var checkbox in checkboxes)
checkbox.checked = source.checked;
// checkbox.addEventListener('click', true); // this is wrong.
}
//this will toggle text fields enabled/disabled
function toggleDisable(oldTable, newTable , checkBox)
{
if(document.getElementById(newTable) !=null)// in case to toggle only old table
{
document.getElementById(newTable).disabled = checkBox.checked;
}
document.getElementById(oldTable).disabled = checkBox.checked;
}
主要複選框:
All<input type="checkbox" onClick="toggleAllCheckBoxes(this , '<?=$operationType?>')"/>
其他複選框
X<input name="checkbox" id="checkbox" onclick="toggleDisable('<?= $originalTableId?>' , '<?= $backupTableId?>' , this)" type="checkbox" />
到目前爲止,工作正常,但,文本字段如果選中主複選框,則不啓用/禁用。雖然單個複選框可以做到這一點。
謝謝。
謝謝,這工作得很好,不知道回合。點擊( )。 總之,你的代碼是切換我的其他複選框,所以我添加了一個如果檢查框狀態是否比主框不同。 如果你允許我,我給你的答案添加了一些代碼,使它適合作爲這個問題的答案。 – MJoraid
順便說一句,我的每個循環工作,不知道如何,但工作完成在這裏:D – MJoraid
如果它適合你所需要的,我沒有看到一個問題。感謝接受。你的編輯被拒絕(不是我),所以你可能想添加它作爲評論。 –