Javascript 如何使用动态jQuery输入创建数组?
我有一个动态输入的表单。输入具有相同的名称属性。所以我想为每一行创建一个数组 像这样强>Javascript 如何使用动态jQuery输入创建数组?,javascript,jquery,Javascript,Jquery,我有一个动态输入的表单。输入具有相同的名称属性。所以我想为每一行创建一个数组 像这样 [{'company':'Apple'},{'address':'USA'}], [{'company':'Samsung'},{'address':'Korea'}] <form id='companies'> <input name='company[]'> <input name='address[]'> </form> $('form').su
[{'company':'Apple'},{'address':'USA'}],
[{'company':'Samsung'},{'address':'Korea'}]
<form id='companies'>
<input name='company[]'>
<input name='address[]'>
</form>
$('form').submit(function(event) {
var newFormData = $('#companies').serializeArray();
console.log(newFormData);
event.preventDefault();
});
我正在使用这个简单的表单(它是动态的)强>
[{'company':'Apple'},{'address':'USA'}],
[{'company':'Samsung'},{'address':'Korea'}]
<form id='companies'>
<input name='company[]'>
<input name='address[]'>
</form>
$('form').submit(function(event) {
var newFormData = $('#companies').serializeArray();
console.log(newFormData);
event.preventDefault();
});
控制台日志;(同一阵列中的所有输入)
这是解决您的问题的一个示例:)
... -> 现在您有了动态容器
您可以使用这种方法来解决jQuery的问题
$('#companies').submit(function(event) {
var $data = [];
var $containers = $(".container-input");
$containers.each(function() {
var $contenedor = $(this);
var $inputCompany = $contenedor.find('input[name^="company"]');
var $inputAddress = $contenedor.find('input[name^="address"]');
var $objectInput = [{
'company': $inputCompany.val()
}, {
'address': $inputAddress.val()
}];
$data.push($objectInput);
});
console.log($data);
});
可能有帮助:)更动态
$(“#公司”)。提交(功能(事件){
var$data=[];
$.each($(this.children(“div”),function(){
obj={};
$.each($(this).find(“:input”),函数(){
obj[$(this.attr(“name”).replace(“[]”,“”)]=$(this.val();
$data.push(obj);
});
})
console.log($data);
event.preventDefault();
});代码>
您的预期输出无效。您应该在对象{}
内有key:value
。但您将对象视为其数组。或者我认为你打错了,
应该是:
就像{'company':'Apple'}
嗨,马希尔,请告诉我应该是什么样子。这是我的一个练习,我是新手:)是的,语法错误。修正了。我想你可以有一个对象数组。对于每一行,应使用单个对象[{'company':'Apple','address':'USA'},{'company':'Samsung','address':'Korea'}]
`您所说的数据结构不是很有用。你们能为我们提供一个要求的理由吗?嘿,佩佩,谢谢你们的回答,但控制台日志是这样的。[{'company':'Apple','address':'USA'},{'company':'Samsung','address':'Korea'}]。我希望每个动态输入组获得单独的数组。