jQuery.push()不工作
我在桌子里面有一张表格。每行都有相同的输入字段。datarow是每行的类名。我遍历每一行以获得值jQuery.push()不工作,jquery,arrays,json,forms,html-table,Jquery,Arrays,Json,Forms,Html Table,我在桌子里面有一张表格。每行都有相同的输入字段。datarow是每行的类名。我遍历每一行以获得值 console.log(dataObj)显示每一行输入。但是,字段数组只添加了最后一个对象n次。n=行数 控制台的输出如下所示: 您需要将var dataObj={}位于each()代码块内,以便在每次迭代开始时为空。datarow迭代: $('#create').click(function(){ var metaObj = {}; var dataObj = {}; v
console.log(dataObj)代码>显示每一行输入。但是,字段数组只添加了最后一个对象n次。n=行数
控制台的输出如下所示:
您需要将var dataObj={}代码>位于each()代码块内,以便在每次迭代开始时为空。datarow
迭代:
$('#create').click(function(){
var metaObj = {};
var dataObj = {};
var fields = [];
$('#tableform').find(".meta").each(function(){
metaObj[this.name] = this.value;
});
$('.datarow').each(function () {
$('td > input, select',this).each(function () {
dataObj[this.name] = this.value;
});
console.log(dataObj);
fields.push(dataObj);
});
console.log(JSON.stringify(metaObj));
console.log(JSON.stringify(fields));
});
Putvar-dataObj={}代码>在each()
代码块内。通过使用map()
和serializeArray()
,您还可以使代码更加简单,但是我们需要查看您的HTML来向您展示如何使用。哦。。男人。。你节省了我的时间。我尝试将var字段设置为=[];每个里面。但是,var dataObj={};在each()中,只需工作助手提供帮助。我加上它作为你的答案。谢谢,我会接受它
$('#create').click(function() {
var metaObj = {};
var fields = [];
$('#tableform').find(".meta").each(function(){
metaObj[this.name] = this.value;
});
$('.datarow').each(function () {
var dataObj = {}; // move declaration here
$('td > input, select',this).each(function () {
dataObj[this.name] = this.value;
});
console.log(dataObj);
fields.push(dataObj);
});
console.log(JSON.stringify(metaObj));
console.log(JSON.stringify(fields));
});