2014-01-28 126 views
0

我在我的HTML表单中有几个文本字段带有名称first_name[]。我想用jQuery填充这些字段。使用jQuery填充HTML数组变量

我以为以下将把“迈克”的第一个元素,那么“萨曼莎”中的第二个:

jQuery('[name="first_name\\[\\]"]').attr('value', 'Mike'); 
jQuery('[name="first_name\\[\\]"]').attr('value', 'Samantha'); 

相反,该代码首先将“迈克”中的所有元素,进而提出“萨曼莎“中的所有元素”什么是正确的方式来实现这一

+0

那么,不具有相同的名称属性将是最好的办法。 –

回答

0

您正在选择具有该名称的所有元素,因此很自然地为所有具有该名称的元素设置了值。 要使用特定元素,请使用.first().last()(或.eq(index))函数。

需要特别注意的是:不要使用.attr("value", value),请使用.val(value)

0
var names=['mahi','suni','samantha']; 
jQuery('[name="first_name\\[\\]"]').each(function(i,e){ 
    $(this).val(names[i]); 
}) 
0

您可以使用此:

jQuery('[name*="first_name"]:eq(0)').val('Mike'); 
jQuery('[name*="first_name"]:eq(1)').val('Samantha'); 
0

这个怎么样...

var names = ["Mike", "Samantha"]; 

for (var i = 0; i < names.length; i+++) { 
    jQuery("[name^=first_name]").eq(i).val(names[i]); 
} 

只需名添加到阵列中,将其添加到窗体。显然,通过添加长度检查,可以使其更加健壮,因此您无法尝试添加名称以形成不存在的元素,但您明白了。