Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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
Javascript 如何使用动态jQuery输入创建数组?_Javascript_Jquery - Fatal编程技术网

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'}]。我希望每个动态输入组获得单独的数组。