确定数组中每个对象的属性?

时间:2018-10-19 07:16:45

标签: javascript jquery

我正在尝试在复选框框的每个对象中标识一个属性,但是此代码仅返回数组中第一个对象属性的所需元素,作为我选中的框数。这是我的代码:

function() {
    var checkedBoxes = $("[name='select-services']:checked");
    checkedBoxes.each(function(){
        console.log(checkedBoxes.attr("value"))
    }

例如,如果三个选定框的值分别为“值1”,“值2”和“值3”,则我将收到三次“值1”输出。

2 个答案:

答案 0 :(得分:1)

就像对attr()的描述一样:

  

获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。

您现在正在做的是获得attr中第一项的checkedBoxes。但是,您想要获得的是您正在迭代的项目的价值。您可以在函数中使用$(this),如下例所示。

checkedBoxes.each(function(){
    console.log($(this).attr("value"))
}

答案 1 :(得分:0)

以下代码为数组的每次迭代分配一个obj引用,并使用其属性。问题是您在循环中每次都要查询checkedBoxes

function() {
    var checkedBoxes = $("[name='select-services']:checked");
    checkedBoxes.each(function(index, obj){
        console.log(obj.attr("value"))
    }