ある種の「ツリー」テーブルを作成しようとしています。
tr間の関係は次のとおりです。
+----------+ +----------+ +----------+
| charges | 1:n | services | 1:n | products |
+----------+ +----------+ +----------+
したがって、すべての請求レコードにはN個のサービスがあり、すべてのサービスは製品で構成されています。
つまり、朝食の料金は一般的な朝食(あなたの食事に対応する)を請求し、この朝食はオレンジジュースとパンのスライスで作られています。
最初の行を特別な色にしようとしていましたが、ユーザーが下矢印アイコンをクリックすると、サービスに対応する行が表示され(この例では、視覚化のために色を変更するだけです)、製品行についても同様です。
赤い丸(料金ID 10)の矢印をクリックすると、そのためのすべての「子供」サービス、料金...が表示されますが、(赤の色)も表示されます。 ..¬¬)料金番号12のサービス...私が知る必要があるのは、ループがそれぞれ料金12の行に遭遇したときに、色付け(表示)を停止する方法です。したがって、黒い円の行は赤い背景に変更しないでください。
これを行うために、料金、サービス、および製品の行は異なるクラスを持っているため、jQueryはそれらを見つけることができます。
$(".listar-servicios").click(function(event){
event.preventDefault();
var flag = 1;
$(this).parent().parent().css("color","green").siblings('.fila-servicio').each(function(){
if(!$(this).hasClass('.fila-servicio') && flag !== 1 && $(this).hasClass('.fila-consumo')){
$(this).css('background-color', 'green');
flag = 0;
}else{
$(this).css('background-color', 'red');
flag = 0;
}
});
});
ここで実際の例と私のコードを見ることができます:JSBIN
長い質問でごめんなさい。