2

required、class1、class2、class3などのクラスを持つフィールド要素を持つフォームがあります。すべての要素を繰り返し処理し、上記のクラスのいずれかが満たされていない場合はエラーメッセージを表示する必要があります。以下の jquery を必須で作成しました。ここで、他のクラスもカスケードする必要があります。誰でもこれについて私を案内できますか?

<input class="required allowalphanum allownospace" type="text" id="first_name" name="first_name" title="First name is required or the data entered was invalid" value=""/>
<input class="required allowalphanum allownospace" type="password" id="password" name="password" title="Password is required or the data entered was invalid" value=""/>
<input class="required confmpasswrd" type="password" id="cnfmPassword" name="cnfmPassword" title="Password needs to match the above field" value=""/>

jQuery fn

$('#submit_form .required').filter(':visible').each(function () {
var input = $(this);
input.next('ul.errormessages').remove();
input.removeClass('highlight');
if (!input.val()) {
    input.addClass('highlight');
    var msg = $(this).attr('title');
    input.after('<ul class="errormessages"><li>'+msg+'</li></ul>');
    returnVal = false;
}
});

次に、必要なクラスが満たされているかどうかを最初に確認する必要があります。次に、英数字、allownospace、cnfmPassword などを許可するかどうか、他のクラスも確認する必要があります。

誰でもこれについて私を案内できますか?

4

2 に答える 2

0

これにより、elem に yourClass があるかどうかを確認できます。

if ($('elem').hasClass('yourClass')) {
    // do stuff
}

$.each を使用すると、現在のインデックスと要素を渡すことができます。

$('selector').each(function(i, e){
    if ($(e).hasClass('yourClass')) {   // e becomes each elem in the $('selector') object
        // do stuff with $(e)
    }
})

複数のクラスを確認できます。

$('selector').each(function(i, e){
    if ($(e).hasClass('yourClass') && $(e).hasClass('yourOtherClass') && $(e).hasClass('yourStuffOverHere')) {
        // do stuff
    }
})
于 2013-10-21T06:05:56.187 に答える