JQuery - 使用相同的类循环遍历DIV并为每个类创建数组

时间:2014-02-27 07:59:12

标签: javascript php jquery arrays

我确实有很多具有相同类.list的DIV。它们充满了ID为element的其他div。在这些element div中有复选框和文本字段。我能够获得所有选中的复选框'下一个Textfield的值。我已将它们保存到一个数组中,但我希望每个.list都有一个数组。

这就是我的代码到目前为止的样子:

function test(){
 var array = new Array();
    $(".list > #element").each(function(){
    array.push($(this).find('input:checkbox[class=unterpunkte]:checked').next('input[type=textfield]').val());
    });
    console.log(array);
}

如何为每个列表动态创建一个数组。我不希望有一个数组保存所有值。我需要使用类.list的每个div的数组。有什么想法吗?

HTML / PHP:

echo("<div class='list' name='$oberpname' value='$oberpname'>");

        while($satz != null)
        {
            echo("<div id='element'><label><input type='checkbox' class='unterpunkte' name='$satz[unterpname]' value='$satz[unterpid]'><input type='textfield' class='$oberpname' value='$satz[unterpname]' readonly/></label></div>");
            $satz=mysql_fetch_assoc($cursor);
        }

        echo("</div>"); //.list div end

编辑注意:添加了HTML / PHP

1 个答案:

答案 0 :(得分:2)

注意:元素的ID必须是唯一的,因此不要使用element作为ID,而是将其用作类。

您可以创建一个数组数组,并使用list元素的索引

访问所需的复选框列表
function test() {
    var array = new Array();
    $(".list").each(function () {
        var vals = $(this).find('input:checkbox[class=unterpunkte]:checked').next('input[type=textfield]').map(function () {
            return this.value;
        }).get();
        array.push(vals)
    })
    console.log(array);
}

现在array[0]将为列表1提供值,其中array[1]将为列表2提供值