我有他的代码,它选中了所有选中的复选框:

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/

10-13 07:35