/ /複数の配列を介してチェックボックスを検証する? - javascript、jquery、配列、チェックボックス

複数の配列を使ってチェックボックスを検証していますか? - javascript、jquery、配列、チェックボックス

私はサイト上で少し問題に遭遇していますビルドしようとしている。サイトの一方の側には、ユーザーが検索結果に影響するリストのボックスをチェックできる「フィルタ」があります。私はjQueryの初心者でしたが、私はこの作業をするのに十分なコードをまとめました... 主に

ここに私がこれまで持っていたコードはあります:

/// Makes checkboxes in the filter add and remove the proper class based on whether they"re checked or not
$(".filterlist input:checkbox").click(function checkboxes(){
$thislist = $(this).closest(".filterlist li > ul");
$checkboxes = $thislist.closest("li > input:checkbox").serializeArray();
if($checkboxes.length < 1) {
$(this).closest("ul.filterlist > li").removeClass("itemselected");
}
else if($checkboxes.length > 0) {
$(this).closest("ul.filterlist > li").addClass("itemselected");
}
});

私のCSSでは "itemselected"は私が試しているクラスですたす。問題は、 ".filterlist"の下に複数のチェックボックスのリストがあることです。最初のリストのチェックボックスをチェックすると、クラスが正しく追加されます。リスト内のすべてのクラスを削除すると、クラスが正しく削除されます。

これは、1つの配列しか使用していないためですが、最初のリストでチェックされているものがあっても、そこにチェックされていないものがあれば、2番目のリストのliからクラスを削除するように、各リストに対して別の配列を作成する方法を見つけられませんその逆。

申し訳ありませんが、このような長い質問です、私は具体的にしようとしていました。

あらかじめお返事ありがとうございます! =]

回答:

回答№1は0

このようなもの??

$(document).ready(function(){
$("ul.filterlist input:checkbox").click(function () {
var ul = $(this).parent().parent();
if ( ul.find("input:checked").length == 0 ) {
ul.parent().removeClass("itemselected");
} else {
ul.parent().addClass("itemselected");
}
});
});