jQuery 全选 全部选 反选 实现代码
1.概述
在项目中经常遇到列表中对复选框进行勾选操作,全选。。。反选。。
2.example
<html>
<body>
<formid="test-form"action="test">
<legend>请选择想要学习的编程语言:</legend>
<fieldset>
<p><labelclass="selectAll"><inputtype="checkbox"><spanclass="selectAll">全选</span><spanclass="deselectAll">全不选</span></label><ahref="#0"class="invertSelect">反选</a></p>
<p><label><inputtype="checkbox"name="lang"value="javascript">JavaScript</label></p>
<p><label><inputtype="checkbox"name="lang"value="python">Python</label></p>
<p><label><inputtype="checkbox"name="lang"value="ruby">Ruby</label></p>
<p><label><inputtype="checkbox"name="lang"value="haskell">Haskell</label></p>
<p><label><inputtype="checkbox"name="lang"value="scheme">Scheme</label></p>
<p><buttontype="submit">Submit</button></p>
</fieldset>
</form>
<scriptsrc="jquery-3.1.0.js"></script>
<scripttype="text/javascript">
$(function(){
(function(){
var
form=$('#test-form'),
langs=form.find('[name=lang]'),
selectAll=form.find('label.selectAll:checkbox'),
selectAllLabel=form.find('label.selectAllspan.selectAll'),
deselectAllLabel=form.find('label.selectAllspan.deselectAll'),
invertSelect=form.find('a.invertSelect');
//重置初始化状态:
form.find('*').show().off();
form.find(':checkbox').prop('checked',false).off();
deselectAllLabel.hide();
//拦截form提交事件:
form.off().submit(function(e){
e.preventDefault();
alert(form.serialize());
});
varcount=1;//点击全选/全不选框次数
selectAll.click(function(){
if(count++%2){
selectAllLabel.hide();
deselectAllLabel.show();
$(this).prop("checked",false);
langs.prop("checked",true);
}else{
selectAllLabel.show();
deselectAllLabel.hide();
$(this).prop("checked",false);
langs.prop("checked",false);
}
});
invertSelect.on('click',function(){
langs.map(function(){
$(this).prop('checked',!this.checked);
});
});
})();
});
</script>
</body>
</html>
以上所述是小编给大家介绍的jQuery全选全部选反选实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!