我有多个输入,例如:
<input id=xxx_1>
<input id=xxx_2>
我希望输入的值存储在数组中。目前,我所拥有的只是它,但是它不起作用。我已经尝试过搜索它,但找不到任何解决方案。我不明白为什么这行不通。
var array = [];
for (var i = 1; i >= 14; i++) {
array[i] = $(this).find("#xxx_" + i + "").val();
}
我要拥有这样的数组是什么
[ value, value, value,... ]
感谢您的帮助
答案 0 :(得分:1)
您可以使用attributs starts with selector
来选择id
以xxx
开头的所有元素,然后可以使用.each()
遍历这些元素
var array = [];
$( "[id^='xxx']" ).each(function() {
array.push(this.value);
});
console.log(array);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="xxx_1" value="123">
<input id="xxx_2" value="456">
答案 1 :(得分:0)
您在for循环中使用的比较运算符是错误的循环方式,因此您的代码永远不会输入它。
您可能想使用<=来查找当我小于等于 或等于14时。
var array = [];
for (var i = 1; i <= 14; i++) {
array[i] = $(this).find("#xxx_" + i + "").val();
}