4

動的 ID を持つ一連のテキスト ボックスを検証する必要があります。要素は、動的に挿入されるのではなく、ドキュメントの準備ができているときに利用できます。

<input type="text" class="y"/>
<input type="text" class="y"/>
<input type="text" class="y"/>
<input type="text" class="y"/>
<input type="text" class="y"/>

ルールは、最初の 2 つのフィールドのいずれかが必須であるということです。要素のIDを知らずに検証する方法がわかりません。

編集:入力要素はループによって生成されるため、最初の 2 つに必要な クラスを追加できません。jquery Validation プラグインhttp://docs.jquery.com/Plugins/Validationを使用したソリューションを探しています

4

5 に答える 5

2

以下では、フィルターを使用して、値が空でない 2 つの入力のコレクションを作成します。長さをテストすると、有効性テストが提供されます。

var valid=$('input').slice(0,2).filter(function(){
   return $(this).val() !='';
}).length

if(valid){
  /* can submit*/
}

検証プラグインのソリューション:

 $('input:lt(2)').addClass('required');

注: フォームに合わせてセレクターを調整して、ページ内のすべての入力、または検証するコレクションの一部ではないフォーム内の入力を検出しないようにします。これらの入力をフィールドセットにラップし、フィールドセットに ID を与えることができます

于 2012-12-24T07:17:04.967 に答える
1
$(document).ready(function() {
if($('input:text:lt(2)').val()=="" ){
 //error 
}
});
于 2012-12-24T07:11:19.280 に答える
1

あなたが望むのはこれだと思います:

function isValid(){
    var cont=0;
    $('input:text').each(function(i, obj) {
        if(i<2 && obj.value){
             cont++; 
        }
      });
    return cont==2;
}
于 2012-12-24T07:14:19.593 に答える