我有他的代码,它选中了所有选中的复选框:
var checkedCbs = document.querySelectorAll('#priceTree input[type="checkbox"]:checked');
var ids = [];
for (var i = 0; i < checkedCbs.length; i++) ids.push(checkedCbs[i].id);
但是我希望我的对象数组包含所有复选框,但被选中的复选框只是将其标记为已选中标志
chbs = [{ 'id': 'id1', 'checked': false },{ 'id': 'id2', 'checked': true}]
我如何在Vanila js中实现呢?
最佳答案
读取元素的checked(Boolean)
属性,并且:checked
中不应包含querySelectorAll
,因为那样只会选择checked
元素。
var checkedCbs = document.querySelectorAll('#priceTree input[type="checkbox"]');
var ids = [];
for (var i = 0; i < checkedCbs.length; i++) {
ids.push({
id: checkedCbs[i].id,
checked: checkedCbs[i].checked
});
}
关于javascript - 如何将所有复选框放入一个对象数组并标记选中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36541475/