根据Javascript中的复选框显示或消失的按钮
我在一个包含复选框的表中有一列,这样用户可以单击多行并删除数据。通过使用for循环,我成功地在单击框时显示了一个delete按钮。我正在努力解决的是,当用户取消选中所有复选框时,如何使按钮消失。我把头撞在墙上的时间比我想承认的要长,而且我以前没有发现任何有用的问题。提前感谢您的任何意见根据Javascript中的复选框显示或消失的按钮,javascript,checkbox,Javascript,Checkbox,我在一个包含复选框的表中有一列,这样用户可以单击多行并删除数据。通过使用for循环,我成功地在单击框时显示了一个delete按钮。我正在努力解决的是,当用户取消选中所有复选框时,如何使按钮消失。我把头撞在墙上的时间比我想承认的要长,而且我以前没有发现任何有用的问题。提前感谢您的任何意见 function memDeleteButton() { // Pass the checkbox name to the function let checkboxes = $('input[n
function memDeleteButton() {
// Pass the checkbox name to the function
let checkboxes = $('input[name=members]:checked');
let deleteButton = document.getElementById("memDeleteSelected");
// loop over all of the checkboxes
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked = true) {
deleteButton.style.display = "inline";
}
else if (checkboxes[i].checked = false) {
deleteButton.style.display = "none";
}
}
}
函数memDeleteButton(){
//将复选框名称传递给函数
让复选框=$('input[name=members]:checked');
让deleteButton=document.getElementById(“memDeleteSelected”);
//循环所有复选框
for(设i=0;i
让复选框=$('input[name=members]:checked')代码>
您只选择此处选中的复选框
document.getElementById(“memDeleteSelected”)代码>
如果您使用的是JQuery,那么为什么不保持一致性呢
复选框[i]。选中=true
您可以使用此语句选中复选框<代码>=
这是赋值运算符。您可以在此处使用相等运算符==
复选框[i]。选中的
返回一个布尔值,因此可以删除相等运算符,因为这将是true或false
function memDeleteButton() {
let checkboxes = $('input[name=members]'),
deleteButton = $('#memDeleteSelected');
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
deleteButton.show();
} else if (!checkboxes[i].checked) {
deleteButton.hide();
}
}
}
函数memDeleteButton(){
让复选框=$('input[name=members]'),
deleteButton=$(“#memDeleteSelected”);
for(设i=0;i
您的查询选择器'input[name=members]:checked'
仅选择选中的复选框,因此如果再次选中则检查的if语句没有意义。if(复选框[i].checked=true){
看起来像一个bug。这是一个赋值语句,总是正确的。请使用==
进行比较,并避免使用if(条件===true)
模式,除非您真的想禁止除true
if(条件)之外的所有真实结果
更清楚了。@ggorlen我想补充一下解释:)谢谢你的精彩解释。我想很清楚我是多么的新,我感谢你的帮助。