考虑:
$("[id^='txtYear_']").val();
为什么这只给我在第一个输入框中输入的值,其 ID 以“txtYear_”开头?我想获取 ID 以“txtYear_”开头的所有输入框的值。
最佳答案
这就是 val() 的工作原理。您必须循环遍历元素才能获取所有值:
let vals = $("[id^='txtYear_']").map(function() {
return $(this).val();
}).get();
let vals = $("[id^='txtYear_']").map(function() {
return $(this).val();
}).get();
console.log(vals);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtYear_1" value="1">
<input id="txtYear_2" value="2">
<input id="txtYear_3" value="3">
<input id="txtYear_4" value="4">
<input id="txtYear_5" value="5">
<input id="txtYear_6" value="6">
<input id="txtYear_7" value="7">
或者要知道哪个是什么,您可以使用一个对象:
let vals = {};
$("[id^='txtYear_']").each(function() {
vals[$(this).prop('id')] = $(this).val();
});
console.log(vals);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtYear_1" value="1">
<input id="txtYear_2" value="2">
<input id="txtYear_3" value="3">
<input id="txtYear_4" value="4">
<input id="txtYear_5" value="5">
<input id="txtYear_6" value="6">
<input id="txtYear_7" value="7">
关于jQuery 多个选择器与 .val(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45664348/