機能:
a: チェックボックスをクリックするときに、すべてのサブチェックボックスを選択し、クリックしてすべてのチェックボックスの選択状態を解除します
b: 1 つの子のチェックボックスが選択され、親のチェックボックスが選択され、すべての子のチェックボックスがオフになった場合、親のチェックボックスがオフになります
/**
* すべての関数を選択
* @param mainId メインチェックボックス ID
* @param 下位チェックボックスの klass クラス
*/
function selectAll(mainId,klass){
$("." klass).each(function(){
if($("#" mainId).attr("checked")== "チェック済み"){
$(this).attr("checked", "checked");
}
else{
$(this).removeAttr("checked");
}
});
}
上記はすべてのサブチェックボックスの選択と解除を実装しています。データの実装としては、コントローラーでチェックボックスの配列を受け取るだけです。
/**
* 子チェックボックスのいずれかで親チェックボックスが選択されている場合は、それを選択します
すべての子チェックボックスのチェックを外し、親チェックボックスのチェックを外します
* @param Father 親チェックボックスの ID
* @param Sonサブチェックボックスクラス
*/
function checkSonCheckBox(父,息子){
$("." 息子).click(function(){
if($(this).attr("checked")== "checked"){
$(this).addClass("checked");
}else{
$(this).removeClass("checked");
}
if($("." son).hasClass("checked")){
$("#" Father).attr("checked","checked");
// console.log("少なくとも 1 つのサブチェックボックスはselected!" );
}else{
$("#" Father).removeAttr("checked");
// console.log("すべてのサブチェックボックスがオフになっています!");
}
});
};
上記の実装: 1 つの子のチェックボックスが選択され、親のチェックボックスが選択され、すべての子のチェックボックスがオフになっている場合、親のチェックボックスはオフになります