Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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元素获取JSON?_Jquery_Json - Fatal编程技术网

从Jquery元素获取JSON?

从Jquery元素获取JSON?,jquery,json,Jquery,Json,我有这个 HTML <select class="form-control" required name="article"> <option value="Coca Cola">Coca Cola</option> </select> <input class="form-control number-input" value="" name="qty" type="text"> <select class="for

我有这个 HTML

<select class="form-control" required name="article">
    <option value="Coca Cola">Coca Cola</option>
</select>
<input class="form-control number-input" value="" name="qty" type="text">


<select class="form-control" required name="article">
    <option value="Jupi">Jupi</option>
</select>  
<input class="form-control number-input" value="" name="qty" type="text">


<select class="form-control" required name="article">
    <option value="Fanta">Fanta</option>
</select>
<input class="form-control number-input" value="" name="qty" type="text">
我需要的是得到新的JSON,它看起来像这样

var invoicesGet = [{
    "invoice": "1",
    "article": "Coca Cola",
    "qty": "2042"
}, {
    "invoice": "1",
    "article": "Jupi",
    "qty": "232"
}, {
    "invoice": "1",
    "article": "Fanta",
    "qty": "45"
}]
这是我现在拥有的工作小提琴:

我想我得到了所有元素的值,顺序是这样的,但我不知道如何将所有这些json组合成一个,并添加invoiceNumber?
我不知道将添加多少个inout,它们是友好添加的

在JS之后创建一个对象数组:

var invoicesGet = [];
for (var i in articles) {
    invoicesGet.push({
        invoice: invoiceNumber,
        article: articles[i],
        qty: qty[i]
    });
}
更新的实时代码:


生成如下输出:
[{“发票”:1,“文章”:“可口可乐”,“数量”:“12”},{“发票”:1,“文章”:“Jupi”,“数量”:“34”},{“发票”:1,“文章”:“Fanta”,“数量”:“56”}]

使用.next()查找下一个数量输入,并返回对象,然后转换为JSON

var articles = $('[name~=article]').map(function () {
    var qtyVal = $(this).next("[name=qty]").val();
    return { 
        invoice: invoiceNumber, 
        article: $(this).val(),
        qty: qtyVal
    };
}).get();
JSFiddle:

这个话题怎么样
var articles = $('[name~=article]').map(function () {
    var qtyVal = $(this).next("[name=qty]").val();
    return { 
        invoice: invoiceNumber, 
        article: $(this).val(),
        qty: qtyVal
    };
}).get();