获取按名称检查的复选框数量

我试图找出已检查了多少个复选框,但遇到了一些麻烦..

我的复选框都名为delete[]

 var count = ($('#form_store_setup input[name=delete]:checked').length); 

……这根本不起作用:

 var count = ($('#form_store_setup input[name=delete[]]:checked').length); 

只需在第二个示例中将delete []包装在双引号中,如下所示:

 var count = ($('#form_store_setup input[name="delete[]"]:checked').length); 

你需要逃避方括号。 试试这个:

 var count = $('#form_store_setup input[name=delete\\[\\]]:checked').length; 

或者将属性值放在引号中:

 var count = $('#form_store_setup input[name="delete[]"]:checked').length; 

假设您没有任何其他以delete开头的命名项,您可以使用“starts with”匹配:

 var count = ($('#form_store_setup input[name^=delete]:checked').length); 

这应该可以解决问题。 尝试在输入名称周围添加单引号。 您也可以调用.size()而不是.length来获得相同的效果。

 var count = ($('#form_store_setup input[name='delete[]']:checked').length); 

有关size()函数的参考,请参阅此文档( http://api.jquery.com/size/