如何获取所有指定name的input标签的value属性值并存入数组?
解决jQuery获取多个input值并存入数组的问题
你使用attr("value")时,jQuery默认只返回匹配到的第一个元素的属性值,这就是为什么你只拿到了5304407546。要获取所有符合条件的input的value值并存入数组,可以用以下两种方法:
方法一:使用map() + get()
这种方法更简洁,适合快速生成数组:
var phoneValues = $('input[name="replacement_phone_1"]').map(function() { return $(this).val(); }).get();
map()遍历每个匹配的input元素,返回每个元素的当前值(用val()比attr("value")更准确,因为val()获取的是输入框的实际当前值,而attr拿的是初始HTML属性值)get()将jQuery对象转换为普通JavaScript数组
方法二:使用each()循环手动收集
如果需要在收集过程中做额外处理,这种方法更灵活:
var phoneValues = []; $('input[name="replacement_phone_1"]').each(function() { phoneValues.push($(this).val()); });
- 初始化一个空数组
phoneValues each()遍历每个input元素,将每个元素的value值推入数组
内容的提问来源于stack exchange,提问作者sameer
相关产品推荐
相关产品推荐

