Javascript 检索多个jQuery将数据追加到JSON

Javascript 检索多个jQuery将数据追加到JSON,javascript,jquery,json,forms,append,Javascript,Jquery,Json,Forms,Append,单击“添加另一个帐户”按钮时,jQuery会追加一个输入。因为它们都有相同的名称,所以在JSON中只检索到一个结果,即最后一个结果“3123213” 我试图从JSON中的输入字段获取所有结果,如:accountsToLink”:[ "3453453453", "3543453453", "5345345345" ] ,但找不到使用jQuery append的方法 请帮忙 <div class="input-group mb-3 input_fields_wrap">

单击“添加另一个帐户”按钮时,jQuery会追加一个输入。因为它们都有相同的名称,所以在JSON中只检索到一个结果,即最后一个结果“3123213”

我试图从JSON中的输入字段获取所有结果,如:accountsToLink”:[ "3453453453", "3543453453", "5345345345" ] ,但找不到使用jQuery append的方法

请帮忙

<div class="input-group mb-3 input_fields_wrap">
<input type="text" class="form-control mx-auto" id="inputAccountNumber" name="accountsToLink" placeholder="9102031012" maxlength="10" required>
<div class="input-group-append">
<button class="btn btn-outline-danger" type="button"><strong>x</strong></button>
</div>
</div>
<div class="text-center mt-4">
<button class="btn-outlined add_field_button">Add another account</button>
</div>

<script>
$(document).ready(function() {
var max_fields      = 10; //maximum input boxes allowed
var wrapper         = $(".input_fields_wrap"); //Fields wrapper
var add_button      = $(".add_field_button"); //Add button ID

var x = 1; //initlal text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            $(wrapper).append('<div class="input-group mt-3 additional-acc-number"><input type="text" class="form-control mx-auto" name="accountsToLink" placeholder="9102031012" maxlength="10"><div class="input-group-append"><button class="btn btn-outline-danger remove_field" type="button"><strong>x</strong></button></div></div>'); //add input box
        }
    });
    
    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); 
        $(this).parent('div').parent('div').remove(); x--;
    });
</script>

x
添加其他帐户
$(文档).ready(函数(){
var max_fields=10;//允许的最大输入框数
var wrapper=$(“.input_fields_wrapp”);//字段包装器
var add_button=$(“.add_字段_button”);//添加按钮ID
var x=1;//初始文本框计数
$(添加按钮)。单击(函数(e){//在添加输入按钮上单击
e、 预防默认值();
如果(xx”);//添加输入框
}
});
$(包装器)。在(“单击“,”.remove_字段)上,函数(e){//用户单击remove text
e、 预防默认值();
$(this).parent('div').parent('div').remove();x--;
});

您可以使用
。每个
循环通过动态生成的输入,然后使用
.push($(this).val())
JSON数组中添加其值,其中
$(this).val()
是输入框的值

演示代码

$(文档).ready(函数(){
var max_fields=10;//允许的最大输入框数
var wrapper=$(“.input_fields_wrapp”);//字段包装器
var add_button=$(“.add_字段_button”);//添加按钮ID
var x=1;//初始文本框计数
$(添加按钮)。单击(函数(e){//在添加输入按钮上单击
e、 预防默认值();
如果(xx”);//添加输入框
}
});
$(包装器)。在(“单击“,”.remove_字段)上,函数(e){//用户单击remove text
e、 预防默认值();
$(this.parent('div').parent('div').remove();
x--;
});
$(“#sendme”)。单击(函数(){
var acc_main={}//创建对象
acc_main[“accountsToLink”]=新数组//创建数组
$(“.inputs>input[name=accountsToLink]”。每个(函数(){
acc_main[“accountsToLink”].push($(this.val())//数组中的push值
})
console.log(JSON.stringify(acc_main))
//您的ajax呼叫在这里/。。。
})
})

x
添加其他帐户

发送给我
您的json是如何生成的?您使用的是ajax吗?请详细说明并添加相关代码。您好,我使用的正是来自的此方法。很抱歉,我不确定调用的是什么方法。谢谢!您的回答没有立即生效,而是将$(“.inputs>input[name=accountsToLink]”更改为$(“input”)[name=accountsToLink]”)有点像。我可以问一下,你通常如何将其发布到JSON,以便我可以在网络>标题中看到JSON结果吗?这是我用来获取表单post请求的方法,但是这个添加的输入字段感觉与表单分离,所以我不太确定如何将它们“合并”在一起。更新了我的答案,请看一看。你只是需要使用
plainFormData
并使用它添加create-new键,并将值推送到相同的位置。如果不起作用,请告诉我。此代码是否仍然放在相同的位置以替换$(“#sendme”)。单击(function(){?感谢您的帮助!我一直在放置const-formDataJsonString=JSON.stringify(plainFormData);在错误的地方!现在它工作了,非常感谢斯瓦蒂,你真的为我节省了很多时间。