Jquery 抓取DOM值并将其存储到多维数组

Jquery 抓取DOM值并将其存储到多维数组,jquery,arrays,Jquery,Arrays,我正在构建一个页面,动态加载包含多个字段的“条目”(textarea,time\u from,time\u直到) 我需要想方设法用jQuery获取这些“输入”多个字段,并将它们存储在二维数组中,我可以用ajax将它们传递到服务器端 我所拥有的: <div class="entry" id="1"> <textarea class="report_actions">Entry1</textarea> <input class="time_f

我正在构建一个页面,动态加载包含多个字段的“条目”(
textarea
time\u from
time\u直到

我需要想方设法用jQuery获取这些“输入”多个字段,并将它们存储在二维数组中,我可以用ajax将它们传递到服务器端

我所拥有的:

<div class="entry" id="1">
    <textarea class="report_actions">Entry1</textarea>
    <input class="time_from report_actions" value="2015-05-03 17:13">
    <input class="time_until report_actions" value="2015-06-18 17:13">
</div>

<div class="entry" id="2">
    <textarea class="report_actions">Entry1</textarea>
    <input class="time_from report_actions" value="2015-05-03 17:13">
    <input class="time_until report_actions" value="2015-06-18 17:13">
</div>
但这会获取所有值并生成一维数组。我想到两个主意。但我缺乏知识使它们成为现实,因此我想我会把它们变成问题

  • 如何升级现有命令,将一个阵列嵌套到另一个阵列中
  • 如何拆分我拥有的阵列。i、 e.([1,2,3,4,5,6])->([1,2,3],[4,5,6])
编辑:多亏了
@tymeJV
,这才是关键所在。调用
警报(值[x][y])
现在我可以提取所需的值

var values = $('.entry').map(function(){
    return [$(this).find('.report_actions').map(function(){
        return this.value;
    }).get()];
}).get();

alert(values[0][2])

只需使用两个
.map
功能:

var values = [];
$(".entries").each(function() {
    var childValues = $(this).children().map(function() {
        return this.value;
    }).get();
    values.push(childValues);
})
应创建一个2D数组,每个数组在
条目下为每个
输入
创建3个值

演示:

编辑:使用2个
.map
调用,必须将第二个
.map
封装在一个数组中,因为它会自动展平:

var values = $('.entry').map(function(){
    return [$(this).find('.report_actions').map(function(){
        return this.value;
    }).get()];
}).get();

我想这正是我想要的。不确定,可能是我以错误的方式修改了您的脚本(请参见编辑),但当我调用alert(values)时,仍然会在一个列表中获得所有值。也许我应该用makeArray来增强它?@user3501968--ah,它看起来不像我想要的那样工作,而是将它们展平为一个数组:\@user3501968--I更新了答案。你让我开心了!这很有效。将编辑原始帖子。遗憾的是,这是我的第一篇帖子,我不能代表你:/
var values = $('.entry').map(function(){
    return [$(this).find('.report_actions').map(function(){
        return this.value;
    }).get()];
}).get();