Javascript或Jquery检查并取消选中所有复选框
我有一个带有复选框列表的表单。 我想创建一个checkAll和UncheckAll框以获得更好的用户体验。 我尝试了很多从Internet获得的代码,但没有一个能够工作。 你能帮我看看,告诉我是什么问题。 谢谢
function checkAll(field) { for (i = 0; i < field.length; i++) field[i].checked = true ; } function uncheckAll(field) { for (i = 0; i < field.length; i++) field[i].checked = false ; } #user_info { border-collapse:collapse; } #user_info td, #user_info th { width:100px; border:1px solid #CACACA; padding:5px; } #checkbox{ padding:20px 0 20px 250px; } Please choose all the users whose group_id you want to replace with that of the uploaded file
<form id="groupImportForm" action="" method="POST"> User ID Last Name First Name Date_Of_Birth Old Group_ID New Group_ID Update GroupID <input type="checkbox" name="isReplaceGroupID[]" value="">
我使用jQuery,所以我从这里获取一些代码来更新代码而不使用jQuery: http : //www.coderanch.com/t/120677/HTML-CSS-JavaScript/find-Checkboxes
这是一个有效的解决方案: http : //jsfiddle.net/nvAtF/1/
这是与jQuery相同的解决方案: http : //jsfiddle.net/nvAtF/2/
这是代码块:
function toggleCheckboxes(flag) { var form = document.getElementById('groupImportForm'); var inputs = form.elements; if(!inputs){ //console.log("no inputs found"); return; } if(!inputs.length){ //console.log("only one elements, forcing into an array"); inputs = new Array(inputs); } for (var i = 0; i < inputs.length; i++) { //console.log("checking input"); if (inputs[i].type == "checkbox") { inputs[i].checked = flag; } } }
在jQuery中检查和取消选中所有复选框非常简单。 它的工作方式如下:
var all_checkboxes = jQuery(':checkbox'); // choose & store all checkboxes all_checkboxes.prop('checked', true); // check all of them all_checkboxes.prop('checked', false); // uncheck all of them
这是演示: jsfiddle.net/53fbc/
试试这个:
$('input:checkbox').attr('checked', true);
检查所有
$('input:checkbox').attr('checked', false);
取消所有
var form = document.getElementById('groupImportForm'); var inputs = form.elements; var checkboxes = []; for (var i = 0; i < inputs.length; i++) { if (inputs[i].type == 'checkbox') { inputs[i].checked =true; } }
Javascript版本的例子
使用jQuery同样瘦
$(".uncheckAll']").click(function() { $('.inputs').attr('checked','checked'); //add the atrribute checked // $('.inputs').removeAttr("checked"); //remove the attribute checked });
jQuery的工作示例
Javascript函数切换(选中/取消选中)所有复选框。
function checkAll(bx) { var cbs = document.getElementsByTagName('input'); for(var i=0; i < cbs.length; i++) { if(cbs[i].type == 'checkbox') { cbs[i].checked = bx.checked; } } }
这是一个ES6单行程,可以通过classname取消选中:
document.querySelectorAll('.classname').forEach((e)=>e.checked=false);