我需要使用jquery获取具有相同名称属性的所有文本框的值。
<input type="text" id="text1" name="text[]">
<input type="text" id="text2" name="text[]">
<input type="text" id="text3" name="text[]">
如何获取文本框 text [] 的所有值,并使用jquery进行比较。
我尝试使用
var values = $("input[name='text[]']")
.map(function(){return $(this).val();}).get();
但是没有成功。
答案 0 :(得分:20)
您可以使用map
方法并将值存储到数组中。
$(function(){
var values = $('input[name="text[]"]').map(function(){
return this.value
}).get()
})
答案 1 :(得分:2)
这个应该有效:
$('input[name="text[]"]');
您可以循环播放它以获取所有值。
$('input[name="text[]"]').each(function() {
alert($(this).val());
});
答案 2 :(得分:2)
让我们将需求分成更小的问题。
首先,您要选择所有这些输入。
var $inputs = $("input[name='text[]']")
它返回一个jQuery对象,其中包含名为text[]
的所有输入。
您也可能不需要在名称中使用方括号。
var inputs = $inputs.get();
将匹配元素提取到普通数组中,以便我们现在可以访问Array的原型方法,例如Array.prototype.map。
var values = inputs.map(function takeValue(input) {
return input.value;
});
答案 3 :(得分:1)
使用这样的选择器:
$('input[type="text"][name="text[]"')
答案 4 :(得分:0)
var textboxcount = document.getElementsByName("text").length;
var textvalue="";
for (var i = 0; i < textboxcount ; i++) {
textvalue= textvalue + document.getElementsByName("text").item(i).value;
}
alert(textvalue);