使用jquery获取元素的值名称

时间:2014-10-03 17:32:02

标签: javascript jquery

我需要获取所有值的文本,然后使用json发送值以将所有价格插入数据库,但是我遇到了问题,我无法获取输入文本名称的所有值的文本='价格&#39 ;. 这是HTML代码:

<input type='text' id='price1' name='price[]'/>
<input type='text' id='price2' name='price[]'/>
<button type='button' id='btn'/>

这是JS代码:

$('#btn').click(function (e) {
    var myprice = [];
 myprice = $("*[name='price']").val();
    $.post(
        "index.php",
        {
            type: "insert",
            price: myprice,
        }
    ).done(function (data) {
            console.log(data);

        })
});

4 个答案:

答案 0 :(得分:3)

您可以使用.map()获取所有值:

var myprice = $('[name="price[]"]').map(function(i,v) {
    return v.value;
}).get().join(',');

//result: "value1,value2..."

DEMO

$.map()

var myprice = $.map($('[name="price[]"]'), function(v,i) {
    return v.value;
}).join(',');

DEMO

答案 1 :(得分:2)

您无法获取一次值,您需要迭代,因为您需要多个输入值。

并使用正确的名称,更改您的html:

<input type='text' id='price1' name='price'/>
<input type='text' id='price2' name='price'/>

和代码:

var myprice = [];
for(var i=0; i < $("*[name='price']").length; i++){

    myprice.push($("*[name='price']:eq("+i+")").val());
}

答案 2 :(得分:1)

您可以遍历您的项目(无需括号,不更改HTML)并轻松将其添加到数组中 -

$('#btn').click(function (e) {
    e.preventDefault();
    var myprice = [];
    $("*[name='price']").each(function() {
        myprice.push( $(this).val() );
    });
    console.log(myprice); // e.g., ["56", "42"]
});

这是EXAMPLE

答案 3 :(得分:0)

名称为price[],而不是price