【发布时间】:2020-03-24 14:42:55
【问题描述】:
如何使用jquery 获取表单中的输入数量,以便将具有不同名称的每个组视为一个项目?
例如,对于下面的表格,我们必须得到 4:
<form>
<input type="text" name="textField">
<input type="checkbox" name="checkboxField">
<div>
<input type="radio" name="radioField" value="one">
<input type="radio" name="radioField" value="two">
<input type="radio" name="radioField" value="three">
</div>
<div>
<input type="radio" name="radioField2" value="four">
<input type="radio" name="radioField2" value="five">
</div>
</form>
我已经尝试过这种方法,并且正在寻找一种不同的、也许更优化的方法:
const fieldsName = [];
$('form :input').each(function(index, item) {
fieldsName.push(item.name)
});
let uniqueFieldsName = [];
$.each(fieldsName, function(index, item) {
if ($.inArray(item, uniqueFieldsName) === -1) {
uniqueFieldsName.push(item);
}
});
let itemsCount = uniqueFieldsName.length;
console.log(itemsCount);
<script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script>
<form>
<input type="text" name="textField">
<input type="checkbox" name="checkboxField">
<div>
<input type="radio" name="radioField" value="one">
<input type="radio" name="radioField" value="two">
<input type="radio" name="radioField" value="three">
</div>
<div>
<input type="radio" name="radioField2" value="four">
<input type="radio" name="radioField2" value="five">
</div>
</form>
【问题讨论】:
-
你试过什么?
-
@j08691 我在问题中添加了我尝试过的内容。我一直在寻找一种不同的、或许更乐观的方式。
标签: javascript jquery html forms input