jquery - 选择带有js数组名称的所有复选框

Pie*_*rre 23 php forms arrays checkbox jquery

我想以这样的形式使用JQuery"check all"函数:http: //jetlogs.org/jquery/jquery_select_all.html

我的问题是我从php脚本生成我的表单,而且我不知道确切地提前有多少个复选框.我使用"数组"命名约定来获取我的$ _POST数据中所有选中的复选框值...所以我的复选框是这样的:

<input type="checkbox" name="items[]" value="<?php echo $id ?>">
Run Code Online (Sandbox Code Playgroud)

但是这个JQuery声明不起作用:

$("input[@name=items[]]").each(function()    
{    
    this.checked = checked_status;    
});
Run Code Online (Sandbox Code Playgroud)

可能是因为我的"项目"末尾的"[]"弄乱了JQuery声明......我试着像这样写@name = items []:"@ name = items []",并且放一些反 - [和]之前的缩写,所以它们不被视为特殊字符,但它不起作用......

如果有人知道解决方案并愿意分享,那就太棒了!! :)

roc*_*hal 59

逃避内部括号\\(没有空格) - 它应该解决问题.

这个选择器适合我:

$('input[name=items\\[\\]]')
Run Code Online (Sandbox Code Playgroud)

  • 他问为什么他的宣言不起作用,我直截了当地给出了正确答案.你有什么问题?是的,删除name属性要好得多,并将所有复选框放在一个div中并执行类似$('#container input')的操作 - 但这不是他的问题的一部分. (3认同)

Emi*_*nov 14

尝试使用

$('input[name="items[]"]')
Run Code Online (Sandbox Code Playgroud)

不需要@和使用".请注意,引号外的选择器是'.否则,您可能会导致解析错误.