![](/img/trans.png)
[英]Selecting all checkboxes and storing the names of selected checkbox in session. PHP,Javascript
[英]selecting all checkboxes in javascript - with array of different values for checkbox
JavaScript代码
function toggle(source) {
console.log('here');
checkboxes = document.getElementsByName('checkbox[]');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
PHP代码动态生成所有复选框
<td><input name="checkbox[<?php echo $row['id']?>]" type="checkbox" id="checkbox" value="<?php echo $row['id']; ?>"></td>
根据上面的PHP代码,所有名称值都是动态生成的。 上面的Javascript代码无法选中所有复选框
请帮忙!
经过很长时间的研究,终于找到了解决我的关键问题的答案-选择并选中所有具有不同名称,值,ID和相同类型的复选框。
function toggle (source) {
var checkboxes;
var len = document.frm1.elements.length;
var x = document.getElementById('all');
for(var i = 0 ; i< len;i++){
if(document.frm1.elements[i].type == "checkbox")
{
checkboxes = document.frm1.elements[i];
if(x.checked == true)
{
document.frm1.elements[i].checked = true;
}
else
{
document.frm1.elements[i].checked = false;
}
}
/*if( isAllCheck == false ){
document.frm1.elements[i].checked = "true";
//alert( "it is false" );
}else{
document.frm1.elements[i].checked = "false";
//alert( "it is true" );
}
isAllCheck = !isAllCheck; */
}
console.log(checkboxes);
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
我希望这会帮助其他人...
var inputs = document.getElementsByTagName("input");
var checkboxes=[];
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type == "checkbox") {
checkboxes.push( inputs[i] );
}
}
如果要检查所有这些,则必须添加行inputs[i].checked = true;
在if
条件内
提示:不要为复选框分配相同的ID !!!
checked = false;
function ToggleAll(source) {
checkboxes = document.getElementsByName('course[]');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
HTML:
<input type='checkbox' name='checkall' onclick='ToggleAll(this);'> Select All
<input type='checkbox' id = 'course' name='course[]'>Val1
<input type='checkbox' id = 'course' name='course[]'>Val2
因为您的复选框都没有名称“ checkbox []”,所以这种方式将无法正常工作。 您可以通过为它们提供一个类并使用getElementsByClassName函数来获取所有复选框。 因此,您获得复选框的行将如下所示:
var checkboxes = document.getElementsByClassname('yourClassName');
在html中,您只需为复选框分配类'yourClassName'。
请注意,某些旧版浏览器不支持 getElementsByClassname。
您的HTML产生了
<td> <输入名称=“ checkbox [1]”类型=“ checkbox” id =“ checkbox” value =“ 1”> </ td>
这与
<td> <输入名称=“ checkbox []”类型=“ checkbox” id =“ checkbox” value =“ 1”> </ td>
要使PHP自动选中所有需要添加的复选框
<td> <输入名称=“ checkbox []”类型=“ checkbox” id =“ checkbox” value =“ 1”已选中> </ td>
使用jQuery,您应该可以执行以下操作
checkboxes = $('input[name^="checkbox"]');
获取名称以“ checkbox”开头的所有输入元素
将class =“ toggle”分配给要与源一起切换的所有复选框。
var elemsToggle = document.getElementsByClassName("toggle");
for(var i = 0; i < inputs.length; i++) {
elemsToggle[i].checked = source.checked;
}
此代码将检查或取消选中所有具有class =“ toggle”的复选框,具体取决于源复选框的状态。
您可以使用querySelectorAll
function toggle_checkbox(name) {
checkboxes = document.querySelectorAll("input[name^='"+ name +"[']");
for (var i = 0, n = checkboxes.length; i < n; i++) {
checkboxes[i].checked = source.checked;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.