JS如何实现对name是数组的复选框的全选和反选以及取消选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS如何实现对name是数组的复选框的全选和反选以及取消选择相关的知识,希望对你有一定的参考价值。

JS如何实现对name是数组的复选框的全选和反选以及取消选择? form内容如下:

因为php接收要用 数组形式的 复选框,正常情况下 JQ可如果是这种

直接使用 $("input[name=ptpt])即可。但是这种php接收的只是最后一个值,字符串。
<label><input type=‘checkbox‘ name=‘ptpt‘ value=‘a1‘ />a1</label>
<label><input type=‘checkbox‘ name=‘ptpt‘ value=‘a3‘ />a3</label>
<label><input type=‘checkbox‘ name=‘ptpt‘ value=‘a6‘ />a6</label>
<label><input type=‘checkbox‘ name=‘ptpt‘ value=‘a9‘ />a9</label>


这样PHP接收的是一个 ptpt的数组

<form method="post" id="form1" name="form1" action="" >
<label><input type=‘checkbox‘ name=‘ptpt[1]‘ value=‘a1‘ />a1</label>
<label><input type=‘checkbox‘ name=‘ptpt[3]‘ value=‘a3‘ />a3</label>
<label><input type=‘checkbox‘ name=‘ptpt[6]‘ value=‘a6‘ />a6</label>
<label><input type=‘checkbox‘ name=‘ptpt[9]‘ value=‘a9‘ />a9</label>
<input type="button" value="全选" onclick=""> 
<input type="button" value="反选" onclick=""> 
<input type="button" value="取消全选" onclick=""> 




<script src="jquery-1.7.2.min.js"></script>
<script>
$(function(){
var chks = $(‘:checkbox[name^="ptpt["]‘);  //匹配name开头为 ptpt[ 的部分
$(‘:button:eq(0)‘).click(function(){
chks.attr(‘checked‘,‘checked‘);
})
$(‘:button:eq(1)‘).click(function(){
chks.each(function(){
if($(this).attr(‘checked‘)==‘checked‘)
$(this).removeAttr(‘checked‘);
else
$(this).attr(‘checked‘,‘checked‘);
});
})
$(‘:button:eq(2)‘).click(function(){
chks.removeAttr(‘checked‘);
})
})
</script>


以上是关于JS如何实现对name是数组的复选框的全选和反选以及取消选择的主要内容,如果未能解决你的问题,请参考以下文章

js实现复选框的全选全不选和反选

js实现复选框的全选全部选和反选

利用jQuery实现复选框的全选和反选

vue.js实现checkbox的全选和反选

Vue实现单选、全选和反选

js 脚本怎样实现checkbox的全选,反选,类似邮箱中邮件的全选后删除移动