2011-09-05 85 views
1

jQuery的addClass所有標籤

<div id="brand_name"> 
Audi 
<span class="select_all"> 
Select all 
</span> 
</div><div class="models"> 
<label for="search_model_id_in_61"><input id="search_model_id_in_61" name="search[model_id_in][]" type="checkbox" value="61">100</label> 
<label for="search_model_id_in_62"><input id="search_model_id_in_62" name="search[model_id_in][]" type="checkbox" value="62">80</label> 
</div> 

我嘗試寫這樣的:

$(".select_all").click() { 
    var models = $(this).parent().next() 
} 

但如何addClass類= 「選中」 所有標籤

回答

1

要被選中和未選中所有的複選框之間切換,這會工作:

$(".select_all").click(function() { 
    var $select_all = $(this), 
     $chk = $select_all.parent().next().find('input[type="checkbox"]'); 

    $select_all.toggleClass('active'); 

    if($select_all.hasClass('active')) { 
     $chk.prop('checked', true); 
    } else { 
     $chk.prop('checked', false);  
    } 
}); 

演示here

+0

謝謝!好的演示 –

1
$(".select_all").click() { 
    var models = $(this).parent().next() 
    models.find('label').addClass('checked'); 
} 

但我不確定複選框是否應該在label標記內。我認爲它應該在之後或之前。

1
models.children().addClass('checked'); 

models.children().toggleClass('checked'); 

類別轉換。

如果要檢查他們:

models.children('input').attr('checked', true);