2012-07-05 101 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

相关问题