javascript - JQuery - 循环遍历具有相同类的 DIV 并为每个 DIV 创建数组

标签 javascript php jquery arrays

我确实有许多具有相同类 .list 的 DIV。它们填充有 ID 为 element 的其他 div。在这些 element div 中,有一个复选框和文本字段。我能够获取所有选中的复选框的下一个文本字段的值。我已将它们保存到一个数组中,但我想要每个 .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

最佳答案

注意:元素的 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 的值

关于javascript - JQuery - 循环遍历具有相同类的 DIV 并为每个 DIV 创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22062416/

相关文章:

javascript - Safari xhr 拖放文件上传似乎发生两次

javascript - Leaflet 相当于 google toSpan() 函数

接受两个成绩数组的 JavaScript 函数

javascript - 如何获取数据表列的值?

jQuery调整窗口宽度无冲突模式

javascript - 未定义指令的 AngularJS 链接函数

javascript - 如何在同一列html的多行上使用相同的函数

php - 无法获取 php 查询结果打印到网页

javascript - 使用 jQuery 打印 iFrame

javascript - 如何将多个前置日期存储到 localStorage?