Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jquery-选中所有带有js数组名称的复选框_Php_Jquery_Arrays_Forms_Checkbox - Fatal编程技术网

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

Php jquery-选中所有带有js数组名称的复选框,php,jquery,arrays,forms,checkbox,Php,Jquery,Arrays,Forms,Checkbox,我想在如下形式中使用JQuery check all函数: 我的问题是,我是从php脚本生成表单的,我不知道事先会有多少复选框。 我使用数组命名约定可以在我的$\u POST数据中获取所有选中的复选框值。。。 所以我的复选框是这样的: <input type="checkbox" name="items[]" value="<?php echo $id ?>"> 可能是因为我的项末尾的[]弄乱了JQuery声明。。。我试着这样写@name=items[]:@name=

我想在如下形式中使用JQuery check all函数:

我的问题是,我是从php脚本生成表单的,我不知道事先会有多少复选框。 我使用数组命名约定可以在我的$\u POST数据中获取所有选中的复选框值。。。 所以我的复选框是这样的:

<input type="checkbox" name="items[]" value="<?php echo $id ?>">
可能是因为我的项末尾的[]弄乱了JQuery声明。。。我试着这样写@name=items[]:@name=items[],并在[and]前面加上一些反斜杠,这样它们就不会被视为特殊字符,但它不起作用


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

用\\无空格转义内部括号-应该可以解决问题

此选择器适用于我:

$('input[name=items\\[\\]]')

首先,应该使用name属性设置具有相同名称的+1元素。它实际上与id属性相同,除了引用之外,每个元素都应该是唯一的,但您的情况并非如此

尝试使用class属性,它是为您想要做的事情而设计的

另一件事是,在代码中,您只能将复选框设置为“checked”,但决不能取消选中,此代码将根据从单击的元素中获取的属性将复选框设置为checked true或false

您可以这样做:

使用id设置“全选”复选框

 <input type="checkbox" id="checkAll">
这会将所有选中类的复选框更改为与id为checkAll的复选框相同的选中属性

$('input[name="items[]"]')
不需要@和使用。请注意,选择器外部的引号是'。否则可能会导致分析错误

$("input[name='smsid[]']")

这段代码对我来说很好…

不,这不起作用,正如我在帖子中所说:…在[and]前面加上一些反斜杠=\所以…检查我的编辑-你应该从选择器中删除@,并使用双反斜杠YUPYUP!!工作起来很有魅力!谢谢大家的帮助!其他建议的解决方案也可能有效!但这个似乎是最容易实现的!:不要使用name属性来执行类似的操作!你的代码变得超级不可读!他问为什么他的声明不起作用,我给出了直截了当的正确答案。你有什么问题?是的,最好删除name属性,将所有复选框放在一个div中,并执行类似$'container input'的操作,但这不是他的问题的一部分。尝试使用该类,jQuery的内置搜索引擎将为您完成这项工作,而不是使用for循环循环所有元素!检查状态的值是多少?设置在哪里?解释你的答案为什么有效将使你的帖子更有帮助。谢谢,@Emo。它成功了。使用双反斜杠的可接受答案的方法不起作用,新版本似乎不支持它。
$("#checkAll").click( function(){
 var checkedValue = $(this).attr("checked");
 $("input.checked").attr("checked", checkedValue); });
$('input[name="items[]"]')
$("input[name='smsid[]']")