我有一组输入,我希望以数组形式或以您建议的任何方式获取每个输入的值。我不是很擅长阵列。
$(elemnt).each(function(index, element) {
$('#spc-name').val($(".spocName").val());
alert($(".spocName").val());
});
上面的代码行警告对我来说是正确的,但仅限于单个输入,但我有多个输入class="spocName"
所以我想得到所有的值,以便我可以将每个保存在DB表中分开的行。
答案 0 :(得分:32)
如果您的所有输入共享同一个班级说“class1”,那么您可以使用此
选择所有此类输入var inputs = $(".class1");
然后你可以按照你想要的方式迭代输入。
for(var i = 0; i < inputs.length; i++){
alert($(inputs[i]).val());
}
答案 1 :(得分:17)
要将每个元素的值作为数组获取,您可以使用map()
:
var valueArray = $('.spocName').map(function() {
return this.value;
}).get();
或者在ES6中(请注意,这在IE中不受支持):
var arr = $('.spocName').map((i, e) => e.value).get();
然后,您可以根据需要使用此数组保存到您的数据库 - 例如。作为AJAX请求中的参数。
答案 2 :(得分:3)
var values = [];
$('.spocNames').each(function(){
values.push({ name: this.name, value: this.value });
});
//use values after the loop
console.log(values);
答案 3 :(得分:0)
您可以使用jquery 每个 功能......
$('.spocNames').each(function(){
alert(this.value);
}
答案 4 :(得分:0)
let itemarray = []
document.querySelectorAll('.selector').forEach((item, index) => {
console.log(item, index)
itemarray.push($(item).val())
item.addEventListener('input', (e => {
itemarray[index] = $(item).val()
console.log(itemarray)
}))
});
说明:打开一个空数组,使用forEach对应你想要接收值的选择器。使用jQuery在数组中放置与选择器长度一样多的空对象。每当您在输入字段中输入任何内容时,它都会修改它的原始值,从而修改数组本身。
答案 5 :(得分:-1)
@ mandip-darji的答案是完全可以接受的并且有效。 我没有做任何改进。因此,就我而言,如果您只想输入一个输入字段的值。
您可以执行以下操作。
let keyWord = null;
$('.searchinventory_input').each(function(){
if(this.value){
keyWord = this.value;
return false;
}
});
答案 6 :(得分:-2)
只是做:
alert($('.spocName').serialize())