我正在尝试使用jQuery选择表单中具有类似名称的数据属性的所有输入。
这是我的表格:
<form id = "myForm">
<input name="name" data-valid-presence=true >
<input name="age" data-valid-biggerThan="18" >
<input name="email[0]" data-valid-email=true >
<input name="email[1]" data-valid-email=true >
</form>
我的jQuery选择器是:
var inputs = jQuery("#myForm").find("input[data-valid-email],[data-valid-length],[data-valid-presence], [data-valid-biggerThan]");
我正在寻找一种方法来选择其中包含data-valid-*
的所有输入,而不必像这样逐一找到它们。
有什么想法吗?
答案 0 :(得分:1)
您可以使用jQuery.filter:
var inputs = $('form').find('input').filter(function() {
var matched = false;
$.each(this.attributes, function(attr) {
if ( matched ) return;
matched = /^data-valid/.test(this.name);
});
return matched;
});