各行にネストされた領域のデータが表示されるテーブルがあります。ネストされていると言うときは、HTMLではなく、領域が互いにどのように関連しているかを意味します。複数のリージョンを含む複数の国。複数のサブリージョンが含まれます(LA-地方自治体)。LA行が非常に多いため、デフォルトでは非表示になっています。
これらの行をWindowsフォルダービューのように動作させたいのですが、リージョンをクリックするとLA行が表示/非表示になります。国名をクリックすると、その国のすべての地域とそのLAが表示/非表示になります。他の国で以前に表示/非表示にしたものは何でも影響を受けません。
私はこれを.nextUntilメソッドを介してリージョンレベルで機能させています。修正方法がわからないのは、国レベルで同じ方法が機能せず、期待どおりに地域が非表示になることですが、toogleを使用しているため、非表示のLAが表示されます。
LA行が表示されているか非表示になっているかに関係なく、国名をクリックして地域とそのLAを非表示にする方法に関するアイデアはありますか?また、もう一度クリックすると、それらのLAの以前の状態が表示されると便利ですが、必須ではありません。すべて閉じても大丈夫です。
ここでのデモ:http://fluent-interaction.co.uk/temp/table/tabletest.html
私のjQuery:
$(document).ready(function() {
$(".rowLA").hide();
$(".rowCountry th p").addClass("toggleClose");
$(".rowCountry th p").click(function() {
$(this).closest(".rowCountry").nextUntil(".rowCountry").toggle();
$(this).toggleClass("toggleClose");
});
$(".rowRegion th p").click(function() {
$(this).closest(".rowRegion").nextUntil(".rowRegion, .rowCountry").toggle();
$(this).toggleClass("toggleClose");
});
});