8

少なくとも 1 つの入力フィールドにテキストが含まれているかどうかを確認する jQuery スクリプトがありますが、選択オプションは確認されません。誰でもそれを実装するのを手伝ってもらえますか?

スクリプト:

$(function(){
    $("#myform").submit(function(){

        var valid=0;
        $(this).find('input[type=text]').each(function(){
            if($(this).val() != "") valid+=1;
        });

        if(valid){
            alert(valid + " inputs have been filled");
            return true;
        }
        else {
            alert("error: you must fill in at least one field");
            return false;
        }
    });
});

これをテストするためのHTML:

<form action="/echo/html" id="myform" method="post">
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>

<select name="something" id="something" type="text">
<option value=""></option>
<option value="one">Option one</option>
<option value="two">Option two</option>
<option value="three">Option three</option>
</select>

<input type="submit"/>
</form>​
4

1 に答える 1

11

1 つのステートメントで「select」要素と「input」要素の両方を取得するには、次のように、単一の jQuery セレクターを複数のセレクターに変更するだけです。

$(this).find('input[type=text], select').each(function(){
            if($(this).val() != "") valid+=1;
        });
于 2012-11-16T12:30:55.670 に答える