すべてのチェックボックスの選択に関するSOに関する他の多くの質問を読みましたが、他のチェックボックスアクションをトリガーする方法を示す質問が見つかりませんでした。
メインのチェックボックスがあります。このチェックボックスを選択すると、他のすべてのチェックボックスも選択されます。問題は、他のチェックボックスがチェックされている/チェックされていない場合、テキストフィールドなどを無効にするなど、独自のアクションを実行する必要があることです。これは、各チェックボックスに 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" />
これまでのところ、メインのチェックボックスが選択されている場合にテキストフィールドが有効/無効にならないことを除いて、これはうまく機能します。単一のチェックボックスでそれを行うことができますが。
ありがとう。