获取所有复选框的一些属性

时间:2016-05-24 12:02:16

标签: javascript jquery

此代码尝试获取所有复选框和_id属性的列表以及value以显示是否已选中。
我收到_id确定,但value始终未定义。怎么解决呢?感谢

let docs = [];
    $(':checkbox').each(function () {
      let doc = {};
      doc.id = $(this).attr('_id');
      doc.value = $(this).checked;
      docs.push(doc);
    });
    console.log(docs);
<input id="someName" _id="idNeeded" type="checkbox"></input>
<label class="someClass" for="someName">My check</label>

3 个答案:

答案 0 :(得分:0)

使用isprop方法:

doc.value = $(this).is(':checked');

doc.value = $(this).prop('checked');

答案 1 :(得分:0)

您可以使用checked属性。

let docs = [];
    $(':checkbox').each(function () {
      let doc = {};
      doc.id = $(this).attr('_id');
      doc.value = $(this).prop("checked");
      docs.push(doc);
    });
    console.log(docs);

答案 2 :(得分:0)

获取dom元素的checked属性,如果是jQuery对象,它将是undefined

doc.value = this.checked;

对于jQuery对象使用 prop() 方法

doc.value = $(this).prop('checked');