2013-01-16 44 views
0

可能重複訪問複選框:
jQuery value selector你如何通過價值的使用jQuery

我有這樣的HTML:

<div style="" id="results"> 
     <label class="wList"><input checked="checked" class="wList-chk" name="wList[]" value="6" type="checkbox">Running</label> 
     <label class="wList"><input checked="checked" class="wList-chk" name="wList[]" value="1" type="checkbox">Baseball</label> 
     <label class="wList"><input checked="checked" class="wList-chk" name="wList[]" value="3" type="checkbox">Basketball</label> 
</div> 

我要訪問一個複選框按價值,並想知道如何做到這一點。我曾嘗試:

$("#results .wList .wList-chk input:checkbox").attr('value').effect('highlight',{},1500);

我在做什麼錯?

+1

'attr' as getter返回一個沒有'effect'方法的字符串。 – undefined

+2

http://stackoverflow.com/questions/4974033/jquery-value-selector – drneel

+0

請閱讀:[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem ) – Peter

回答

3

有很多方法,其中之一是:

$('input.wList-chk[value="1"]').effect('highlight',{},1500); 

然而,這隻會選中該複選框,而不是周圍的文本。你可能想什麼:

$('input.wList-chk[value="1"]').parent().effect('highlight',{},1500); 

jsFiddle example

這將選擇標籤內的文字。

2
$('input[type="checkbox"][value="foo"]'); 
+0

檢查「checked」屬性而不是屬性值會更安全嗎?也許''.filter(「:checked」)'可以在這裏使用。 –

+0

@Cory無論如何,我看到[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)在這裏 – Peter

1

您需要實際檢查值。就像這樣:

$("#results .wList .wList-chk input:checkbox").each(function(){ 
    value = $(this).val(); 
    if(value==someVal){ 
      $(this).effect('highlight', {}, 1500); 
    } 
});