Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在每个循环中获取数据属性?_Jquery_Html - Fatal编程技术网

Jquery 如何在每个循环中获取数据属性?

Jquery 如何在每个循环中获取数据属性?,jquery,html,Jquery,Html,我正在用HTML和jQuery构建一个表单,需要为Ajax请求连接各种输入字段 表单如下所示: 发件人: 致: 价格: 发件人: 致: 价格: 发件人: 致: 价格: 结果:您需要再次包装该字段 $("input[data-name=formField]").change(function() { var rows = $('.row'); var result = []; var f; $.each(rows, function(index, row) { $.each(row

我正在用HTML和jQuery构建一个表单,需要为Ajax请求连接各种输入字段

表单如下所示:

发件人:
致:
价格:

发件人: 致: 价格:
发件人: 致: 价格:

结果:
您需要再次包装该字段

$("input[data-name=formField]").change(function() {
var rows = $('.row');
var result = [];
var f;
$.each(rows, function(index, row) {
    $.each(row, function(i, field) {
        f = $(field);
        rowData = {};
        rowData[f.attr("data-input")] = f.val();
    })
    result.push(rowData);
})
$('#result').val(result);
})

你需要重新包装这个字段

$("input[data-name=formField]").change(function() {
var rows = $('.row');
var result = [];
var f;
$.each(rows, function(index, row) {
    $.each(row, function(i, field) {
        f = $(field);
        rowData = {};
        rowData[f.attr("data-input")] = f.val();
    })
    result.push(rowData);
})
$('#result').val(result);
})

进入行循环后,需要在formfields上使用.find()

var formFields = $(row).find("input[data-name='formField']");
然后使用
rowData[$(field).attr(“数据输入”)]=$(field).val()
要分配给特定属性,我们使用
$()
包装
字段

最后,使用JSON.stringify(result)

请参阅下面的演示

$(“输入[data name=formField]”)。更改(函数(){
变量行=$('.row');
var结果=[];
var rowData={};
$.each(行,函数(索引,行){
rowData={};
var formFields=$(行).find(“输入[data name='formField']”);
$.each(表单字段,函数(i,字段){
rowData[$(字段).attr(“数据输入”)]=$(字段).val();
});
结果.推送(行数据);
})
$('#result').val(JSON.stringify(result));
});

从:到:价格:

从:到:价格:
从:到:价格:
结果:
一旦进入行循环,就需要在formfields上使用.find()

var formFields = $(row).find("input[data-name='formField']");
然后使用
rowData[$(field).attr(“数据输入”)]=$(field).val()
要分配给特定属性,我们使用
$()
包装
字段

最后,使用JSON.stringify(result)

请参阅下面的演示

$(“输入[data name=formField]”)。更改(函数(){
变量行=$('.row');
var结果=[];
var rowData={};
$.each(行,函数(索引,行){
rowData={};
var formFields=$(行).find(“输入[data name='formField']”);
$.each(表单字段,函数(i,字段){
rowData[$(字段).attr(“数据输入”)]=$(字段).val();
});
结果.推送(行数据);
})
$('#result').val(JSON.stringify(result));
});

从:到:价格:

从:到:价格:
从:到:价格:
结果:
我原以为这样可以,但只需要最后一行输入。我不明白为什么。`var rowData={};`应该在第一个循环中。@TomBomb谢谢你,伙计,我用你的更正编辑了它。我原以为这样可以,但它只接受最后一个输入行。我不明白为什么。`var rowData={};`应该在第一个循环中。@TomBomb谢谢你,伙计,我用你的更正编辑了它。