JS中如何将多个相同name的两种input的值转换成json格式

JS中如何将多个相同name的两种input的值转换成json格式

input元素如下

<input type="text" name="parts_name" placeholder="名称">
<input type="text" name="parts_remark" placeholder="备注">

<input type="text" name="parts_name" placeholder="名称">
<input type="text" name="parts_remark" placeholder="备注">

<input type="text" name="parts_name" placeholder="名称">
<input type="text" name="parts_remark" placeholder="备注">

使用JS期望转换成的json格式如下

[
    {
        "name": "名称",
        "remark": "备注"
    },
    {
        "name": "名称",
        "remark": "备注"
    },
    {
        "name": "名称",
        "remark": "备注"
    }
]

求教如何使用JS达到这个效果,因为要用AJAX提交,谢谢各位前端大神

阅读 4k
3 个回答
var arr = [];
$("input[name='parts_name']").each(function(i){
    var remark = $("input[name='parts_remark']").eq(i);
    arr.push({"name": $(this).val(), "remark": remark.val()});
});
   var inputname = document.querySelectorAll("input[name='parts_name']");
        var inputremark = document.querySelectorAll("input[name='parts_remark']");
        var arr = [];
        inputname.forEach(function(el,i){
            var name = el.value;
            var remark = inputremark[i].value;
                         arr.push({
                             "name":name,
                             "remark":remark
                            });
        });
    $(function(){
        var array=[];
        var a=$("input[name=parts_name]");
        var b=$("input[name=parts_remark]");
        
    
        for(var i=0;i<a.length;i++){
            var obj={};
            obj.parts_name=a[i].value;
            obj.parts_remark=b[i].value;
            array.push(obj);
        
        }
        console.log(array);
    });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题