3

多くのinput[type=text]フィールドを含む div があります。ユーザーがすべてのフィールドに入力する必要があることを確認したいのですが、そうでない場合はエラーメッセージが表示されます。このために私は試しました:

if ($('div').children("input[type=text]").attr("value") == '') 
 flag = false; 
else 
 flag = true;

ただし、これはすべてのテキスト フィールドをチェックするわけではなく、 first-child のみをチェックします。すべてのテキスト フィールドを確認するにはどうすればよいですか?

4

3 に答える 3

3

find()代わりに使用してみてください

 if ($('div').find("input[type=text]").val() == '')

すべての入力項目をチェックするには、 を使用してそれらを反復処理する必要がありますeach()

正しいコードは次のようになります。

$(function() {
    $('input:submit').click(function(){
        var flag = true;
        $('div').find("input[type=text]").each(function(){
            if($(this).val() === '') flag = false
        });

        alert(flag);
    });
});​

jsFiddle のデモを参照してください。

このコードは、内部trueのすべてのフィールドが入力されていて、少なくとも 1 つが空の場合に戻ります。input[type=text]divfalse

于 2012-07-05T09:50:47.097 に答える
1

標準的な方法

if(!$('div').find('#idOfTextField').val()){
 //empty
}
于 2012-07-05T09:51:54.560 に答える
0
if($("div").find('input:text[value=""]').length > 0)
{
 alert("error");
 return false;
}
于 2012-11-11T11:27:15.037 に答える