2012-07-05 70 views
2

我試圖找到一個選擇器在jQuery中選擇所有輸入是複選框,他們的名稱包含特定的詞,如「頂」或「頂」。無法選擇其他複選框。jQuery的選擇器,其中包含某些文本的名稱屬性

是否有可能使用類似:

$("input[name*='top'] type:checkbox").each etc? 

Top 1<input type="checkbox" name="Top1" /><br /> 
Top 2<input type="checkbox" name="Top2" /><br /> 
Top 3<input type="checkbox" name="Top3" /><br /> 
Top 4<input type="checkbox" name="Top4" /><br /> 

Bottom 1<input type="checkbox" name="Bottom1" /><br /> 
Bottom 2<input type="checkbox" name="Bottom1" /><br /> 
Bottom 3<input type="checkbox" name="Bottom1" /><br /> 
Bottom 4<input type="checkbox" name="Bottom1" /><br /> 

我只是想選擇哪個contian字「頂」在其名稱中的複選框。

回答

9

你是關閉...

$("input[type='checkbox'][name^='Top']").each() 

jsFiddle Demo

+1

我認爲*這些選擇器區分大小寫,不是嗎? – MilkyWayJoe 2012-07-05 17:58:32

+0

漂亮的捕捉(固定) – 2012-07-05 17:59:35

+0

所以我只是添加兩個框選擇器?^='頂部'轉換爲頂部或頂部? – RetroCoder 2012-07-05 18:01:31

5

您可以使用start with選擇:

$("input[name^='Top']") 

或:

$("input[name^='Top']:checkbox") 
+0

請注意,':checkbox'已被棄用。 – kapa 2012-07-05 18:03:10

4

我相信你可以在:checkbox選擇和attribute-contains選擇相結合:

$("input:checkbox[name*='top']").each(); 

不知道是否需要不區分大小寫,在這種情況下你可以有一個廁所k在這SO question

更新:

由於bažmegakapa在他的評論中指出,:checkbox選擇根據文件過時。爲此它可能是更好的使用:

$("input[type=checkbox][name*='top']").each(); 
+2

從手冊:'裸$(':複選框')相當於$('*:複選框'),所以應該使用$('input:checkbox')。 – kapa 2012-07-05 18:04:09

+0

@bažmegakapa感謝您的領導,更新了我的答案。 – 2012-07-05 18:05:40

+0

而我upvoted。此外,':checkbox'已被棄用,所以最好使用'[type =「checkbox」]'。 – kapa 2012-07-05 18:08:13

相關問題