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

Javascript 如何使用具有相同名称的jquery获取每个输入字段的值?,javascript,jquery,html,Javascript,Jquery,Html,我试图获取同一集合下每个输入字段的值。下面是我的代码: 输入字段1: <input type="text" maxlength="255" name="amount[]" > 尝试将属性值作为字符串传递,因为[和]是元字符 var values = $("input[name='amount[]']") .map(function(){ return $(this).val() }) .get().join

我试图获取同一集合下每个输入字段的值。下面是我的代码:

输入字段1:

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

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

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

由于存在多个同名元素,因此需要编制索引:

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

以及获取所有元素的值:

$("input[name='amount[]']").each(function (i,v) {
    alert(this.value);
});
通过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;
    }
函数getValues(){
var id=document.getElementsByName('amount[]);
var ary=新数组();

对于(var i=0;i,可以获得数组中的所有值

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

console.log(values);
演示
-->

你没有

DOM中ID的全部意义在于它们是唯一的

$("input[name='amount[]']")
这将得到一组元素。您可以通过迭代这些元素来获得每个元素的值

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

无法应用索引,因为我编写了字段的数量将由用户生成。实际上,这是关于创建配方的。用户可以根据配方中的成分数量添加多个输入字段。这与任何事情有什么关系?另一件事……这些输入字段是由CActiveForm在yii中生成的,默认情况下输入字段中没有值属性。它仍然有效吗?@AllSympatheticUpVorters此答案甚至没有提到OP的选择器为什么不起作用。@Hammad,即使您没有值属性,它也会起作用。
$("input[name='amount[]']")
$("input[name='amount[]']").each(function(){
    $(this).val();
});