如何使用具有相同名称的jquery获取每个输入字段的值?

时间:2014-05-08 08:13:00

标签: javascript jquery html

我试图获取每个输入字段在同一组下的值。以下是我的代码:

输入字段1:

<input type="text" maxlength="255" name="amount[]" >

输入字段2:

<input type="text" maxlength="255" name="amount[]" >

等等......字段数是可变的。

现在我想获取用户在每个命名字段中键入的值。如何在jquery中做到这一点?

我尝试过以下代码,但没有返回任何内容:

$("input[name=amount[]]").val();

6 个答案:

答案 0 :(得分:8)

您可以获取数组中的所有值

var values = $('input[name="amount[]"]').map(function(){
   return this.value;
}).get();

console.log(values);

演示---> http://jsfiddle.net/BFjp5/

答案 1 :(得分:2)

由于有多个具有相同名称的元素,您需要建立索引:

$("input[name='amount[]']")[0].value;

Here is demo

并获取所有元素值:

$("input[name='amount[]']").each(function (i,v) {
    alert(this.value);
});

Here is demo

答案 2 :(得分:1)

通过javascript

function getValues(){
        var ids=document.getElementsByName('amount[]');
        var ary=new Array();

        for(var i=0;i<ids.length;i++){
            ary[i]=ids[i].value;
        }
        return ary;
    }

答案 3 :(得分:1)

$("input[name='amount[]']")

这将为您提供一组元素。您可以通过遍历它们来获取每个元素的值。

$("input[name='amount[]']").each(function(){
    $(this).val();
});

答案 4 :(得分:0)

尝试将属性值作为string传递,因为[]是元字符,

var values = $("input[name='amount[]']")
                  .map(function(){ return $(this).val() })
                    .get().join('');

DEMO

答案 5 :(得分:-4)

你没有!

DOM中ID的重点在于它们是唯一的。