5

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-*このように 1 つずつ検索することなく、入力をすべて選択する方法を探しています。

何か案は?

4

1 に答える 1

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;
});
于 2013-07-24T14:34:53.010 に答える