尝试通过JS中的addEventListener设置复选框,我已经尝试使用
element.checked = true; element.setAttribute('checked', true); element.setAttribute('checked', "checked");
我可以在控制台中看到我的checked设置为true(不确定问题是否是布尔值显示为字符串“ true”,或者这仅仅是一个chrome表示形式),但是元素未获取复选标记。
输入id =“ element” class =“ element” name =“ element” type =“ checkbox” 值=“ 1”已选中=“ true”
“加载”时正确设置了默认复选框,但是当我尝试取消选中并设置新复选框时,(视觉上)没有任何反应。
感谢您的帮助。
答案 0 :(得分:1)
我不确定您要做什么,但我认为您想根据另一个复选框的状态来切换它。
看看这个:
/* get the checkboxes */
const checker1 = document.getElementById('checker');
const checker2 = document.getElementById('checker2');
/* now listen for change on checker1 and action */
/* change the selected state of checker two to be opposite of checker 1 */
checker1.addEventListener('change', () => checker2.checked = !checker1.checked);
<p>
<label for=checker>Click me to toggle the other</label>
<input type=checkbox id=checker>
</p>
<p>
<label>I will be toggled</label>
<input type=checkbox id=checker2 checked>
</p>
答案 1 :(得分:0)
问题是,如果您应该手动执行此操作,那么您的代码就应该像这样:
<input id="element" checked>
为了使用javascript实现相同的目的。仅当您将检查值设置为空字符串时,才会发生这种情况。像这样:
element.setAttribute("checked","");
这将使您的输出像上面一样。 希望能为您解决:)