将值存储在数组jquery中

时间:2019-08-07 11:21:20

标签: javascript jquery for-loop

我有多个输入,例如:

<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,... ]

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以使用attributs starts with selector来选择idxxx开头的所有元素,然后可以使用.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();
}