我正在尝试以编程风格实现DRY原则。
为避免对上述问题产生误解,我将在下面再解释一次。我一直在寻找这种解决方案,但似乎找不到正确的解决方案。
我想动态获取表单中的每个输入值(而不是动态输入,动态添加新输入等),而不必一遍又一遍地输入:
var foo = $('input[name="foo"]').val();
var bar = $('input[name="bar"]').val();
一两件就可以了。但是问题是,当我有10个以上的输入时,这将是不可接受的。
我该怎么做?
答案 0 :(得分:2)
您可以使用input
函数在具有名称属性的each
上循环并获取该值。
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' />
答案 1 :(得分:0)
sonar.javascript.lcov.reportPaths=XXX/coverage/lcov.info
答案 2 :(得分:0)
这应该可以大致完成您想要的。假设您只需要文本值。
var Inputs = [];
$(":input:text").each(function () {
Inputs.push({
Name: $(this).attr("name"),
Value: $(this).val()
});
});