Javascript var inputs=document.getElementsByTagName(“输入”); 对于(var i=0;i
总之,最大的问题是您正在检查条件中的id,并且页面上只有一个元素可以具有该id。代码中有几个问题:Javascript var inputs=document.getElementsByTagName(“输入”); 对于(var i=0;i,javascript,dom,Javascript,Dom,总之,最大的问题是您正在检查条件中的id,并且页面上只有一个元素可以具有该id。代码中有几个问题: 您的第一个复选框没有“chk”id。我想应该是这样的 您正在传递复选框的id,然后将每个复选框的id与此id进行比较。并且其他复选框都没有id。因此,除了您单击的复选框之外,您没有选中/取消选中任何其他复选框 您正在选中第一个复选框,但单击事件的默认操作随即发生。第一个复选框被取消选中 因此,在尝试维护您的逻辑和现有代码时,我通过以下方式修复了它: 删除if中的输入[i].id==check
- 您的第一个复选框没有“chk”id。我想应该是这样的李>
- 您正在传递复选框的id,然后将每个复选框的id与此id进行比较。并且其他复选框都没有id。因此,除了您单击的复选框之外,您没有选中/取消选中任何其他复选框李>
- 您正在选中第一个复选框,但单击事件的默认操作随即发生。第一个复选框被取消选中李>
- 删除if中的
条件输入[i].id==checkId
- 将“chk”id添加到第一个复选框
- 不选中/取消选中第一个复选框。将其保留为单击事件的默认行为。为此,请添加一个if To not check/uncheck“chk”复选框李>
函数checkAll(checkId){
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i
名称
类型
修改日期
大小
您的代码中有几个问题:
- 您的第一个复选框没有“chk”id。我想应该是这样的李>
- 您正在传递复选框的id,然后将每个复选框的id与此id进行比较。并且其他复选框都没有id。因此,除了您单击的复选框之外,您没有选中/取消选中任何其他复选框李>
- 您正在选中第一个复选框,但单击事件的默认操作随即发生。第一个复选框被取消选中李>
因此,在尝试维护您的逻辑和现有代码时,我通过以下方式修复了它:
- 删除if中的
输入[i].id==checkId
条件
- 将“chk”id添加到第一个复选框
- 不选中/取消选中第一个复选框。将其保留为单击事件的默认行为。为此,请添加一个if To not check/uncheck“chk”复选框李>
完整代码段,样式设置除外:
函数checkAll(checkId){
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i
名称
类型
修改日期
大小
inputs[i].id==checkId
输入[i]的if?可能重复项中的该检查是什么。id==checkId
的if?可能重复项中的该检查是什么
function checkAll(checkId){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].id == checkId) {
if(inputs[i].checked == true) {
inputs[i].checked = false ;
} else if (inputs[i].checked == false ) {
inputs[i].checked = true ;
}
}
}
}
var json =[{
"Name": "zips",
"Type": "Directory",
"DateModified": "6/14/2018 17:22:50",
"Size": "5 KB",
}, {
"Name": "presets",
"Type": "Directory",
"DateModified": "5/11/2018 7:32:10",
"Size": "2 KB",
}, {
"Name": "workflow",
"Type": "Directory",
"DateModified": "6/26/2018 10:29:59",
"Size": "6 KB",
},{
"Name": "software",
"Type": "Directory",
"DateModified": "3/16/2018 10:29:59",
"Size": "16 KB",
},{
"Name": "mmm_data",
"Type": "Directory",
"DateModified": "6/27/2018 1:19:29",
"Size": "3 KB",
},{
"Name": "jobs",
"Type": "Directory",
"DateModified": "4/27/2018 11:59:59",
"Size": "3 KB",
},
];
var string ="";
for (i in json) {
string +='<div class="row"><div class="col-md-15 col-sm-1"><input type="checkbox" name="chk[]"></div><div class="col-md-15 col-sm-4"><span class="folders">'+json[i].Name+'</span></div><div class="col-md-15 col-sm-3"><span class="directory">'+json[i].Type+'</span></div><div class="col-md-15 col-sm-3"><span class="date-stamp">'+json[i].DateModified+'</span></div><div class="col-md-15 col-sm-1"><span class="date-size">'+json[i].Size+'</span></div></div>';
};
document.getElementsByClassName('update-data')[0].innerHTML =string
<div class="data-columns">
<div class="row" id="hd">
<div class="col-md-15 col-sm-1">
<input type="checkbox" onclick="checkAll('chk');" >
</div>
<div class="col-md-15 col-sm-4">
<div id="named" class="sr">Name</div>
</div>
<div class="col-md-15 col-sm-3">
<div id="type" class="sr">Type</div>
</div>
<div class="col-md-15 col-sm-3">
<span id="dated" class="sr">Date Modified</span>
</div>
<div class="col-md-15 col-sm-1">
<span id="size" class="sr">Size</span>
</div>
</div>
<div class="update-data">
</div>
</div>
function checkAll(checkClass){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].classlist.contains(checkClass)) {
if(inputs[i].checked == true) {
inputs[i].checked = false ;
} else if (inputs[i].checked == false ) {
inputs[i].checked = true ;
}
}
}
}
function checkAll(checked){ // pass true or false to check or uncheck all
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox") {
inputs[i].checked = checked;
// This way it won't flip flop them and will set them all to the same value which is passed into the function
}
}
}