我正在尝试实现 DRY我的编程风格中的原则。
为了避免大家对我上面的问题产生误解,我在下面再解释一次。我一直在寻找这个解决方案,但似乎找不到合适的解决方案。
我想动态获取表单中的每个输入值(不是动态输入,动态添加新输入等),而无需一遍又一遍地输入:
var foo = $('input[name="foo"]').val();
var bar = $('input[name="bar"]').val();
一两 block 就可以了。但问题是当我有超过 10 个输入时,这将是 Not Acceptable 。
我该怎么做?
最佳答案
您可以使用 each
函数在具有 name 属性的 input
上循环并获取该值。
var arr = [];
$(":input[name]").each(function(index, element) {
arr.push($(this).val());
});
console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='text' name='foo' value='1' />
<input type='text' name='bar' value='2' />
<input type='text' name='foo' value='3' />
<input type='text' name='bar' value='4' />
<input type='text' name='foo' value='5' />
<input type='text' name='bar' value='6' />
<input type='text' value='7' />
关于javascript - 如何使用 jQuery 动态获取输入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53773007/