如何使用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>
您可以使用:
您可以使用以下给定方法: