我试图获取每个输入字段在同一组下的值。以下是我的代码:
输入字段1:
<input type="text" maxlength="255" name="amount[]" >
输入字段2:
<input type="text" maxlength="255" name="amount[]" >
等等......字段数是可变的。
现在我想获取用户在每个命名字段中键入的值。如何在jquery中做到这一点?
我尝试过以下代码,但没有返回任何内容:
$("input[name=amount[]]").val();
答案 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;
并获取所有元素值:
$("input[name='amount[]']").each(function (i,v) {
alert(this.value);
});
答案 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('');
答案 5 :(得分:-4)
你没有!
DOM中ID的重点在于它们是唯一的。