フォームに複数の選択があり、少なくともすべての必須フィールド(required="true"
)が選択されていることをjQueryで確認する必要があります。このような選択されたフィールドが選択されていることを確認してください。
何か:
<select class="check" name="first">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="second">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="third">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select name="other">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
私は、そのクラス.check
が含まれており、すべての必須フィールドが割り当てられていることを確認して、すべての選択の要素をチェックする必要があります。
私は次のように進んでいます。
必要なすべての値の配列行います
var requiredFields = []; $('option:selected', this).attr('required').each(function(){ requiredFields.push($(this).val()); })
が選択されたすべての値の配列を作成します。
var valuesSelected = []; $('.check').each(function(){ valuesSelected.push($(this).val()); })
チェック必須フィールドが選択された値である場合配列、何かしない場合:
for(i=0;i<requiredFields;i++){ if(jQuery.inArray(requiredFields[i], valuesSelected)==-1){ var error += 'Please select '+requiredFields[i]; } }
エラーメッセージを表示、または空が何かない場合:
if(error!=''){ alert(error); // just for testing } else { // have fun }
を、私はそれをテストするための簡単なjsFiddleを設置しましたが、私が何か間違ったことしなければならないようで、任意のヘルプ?
でそれを行うには相続の方法が、それでも動作しません.. – ghego1