jQuery 多个选择器与 .val()

标签 jquery

考虑:

$("[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/

相关文章:

jquery - 如何启用超链接?

javascript - 如何通过匹配包含的文本来填充下拉选择框?

java - 如何动态填充jsp页面?

javascript - 为什么 Chrome 会保留上一页的 scrollTop

javascript - 点击事件在 Firefox 中不起作用

javascript - 在jquery中使用变量值作为数组名称

javascript - jQuery weekcalendar 在 Firefox 中正确显示,但在 Chrome/Safari 中无法正确显示(仅在 iOS/OSX 设备上)

javascript - 组织 JavaScript/jQuery - 替代使用 jQuery 的实时连接

javascript - 如何在 UI 上动态显示图像?

javascript - 如何从排序表标题中删除点击