这是html:
<div class="btn btn-stock-report" id="superman">
Superman <input type="checkbox" name="superman" />
</div>
这是JQuery:
$('#superman').on('click', function () {
if ($(this).children('input:checkbox:first').is(':checked')) {
superman = true;
$(this).children('input:checkbox:first').removeAttr('checked');
}
else {
superman = false;
$(this).children('input:checkbox:first').attr('checked', 'checked');
}
console.log("superman: " + superman);
});
我要实现的目标只是更改子复选框的状态并更改
superman
变量的值,但是由于某些原因,它总是在控制台日志中打印出superman: false
。即使我手动选中该复选框并单击div,即使该复选框现在已选中,它也会报告superman: false
是什么原因造成的?
最佳答案
您可以将<div>
更改为<label>
并摆脱所有的jQuery代码,它将正常工作。
关于javascript - jQuery不会选择并更改复选框的状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32610548/