0

jQuery結果セット内のtextbox、select、li要素などの空の入力タイプを見つけようとしています。私の結果セットは (requiredfields) -

$requiredFields = $(".f-form-required.f-form-field").filter(function(){
   if($(':input:not([type="hidden"])'))
      return $(this);
  }); 

その結果セットで、textbox、select、li 要素などの空の入力を照会したいと考えています。しかし、私は何か間違ったことをしているようです。誰かが私にそれを行う方法を提案できますか。

現在、空のテキストボックスを取得するためにこれを行っていますが、機能していません-

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

$requiredFields コレクションで空のドロップダウン/選択要素とリスト/li要素を見つけるために同じことをしようとしています。

4

2 に答える 2

4

valプロパティはありません。.val()代わりに使用してみてくださいまたはthis.value

var emptyInputs = 0;
$requiredFields.filter(function(){
    $('input[type=text]').each(function(){
        if (jQuery(this).val()  == "") {
            emptyInputs = emptyInputs + 1;         
        } 
    }); 
}); 

また:

var emptyInputs = 0;
$requiredFields.filter(function(){
    $('input[type=text]').each(function(){
        if (this.value  == "") {
            emptyInputs = emptyInputs + 1;         
        } 
    }); 
}); 
于 2013-11-07T19:27:24.703 に答える
0

.filter() は、使用されることが予想されるため、まったく使用していないと思います。次のようなことを考えてみましょう:

<html>
<body>
    <div>
       <input type="text" id="text1" class="f-form-required f-form-field" />
       <input type="text" id="text2" class="f-form-required f-form-field" value="test" />
       <input type="text" id="text3" class="f-form-required f-form-field" />
    </div>
</body>
</html>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>    
<script type="text/javascript">
    function test(){
        var $requiredFields = $('.f-form-required.f-form-field');

        var $errorFields = $requiredFields.filter(function () {
            var $this = $(this);
            return $this.is('input') && $this.val() === '';
        });
        var errorCount = $errorFields.length;

        console.log('errors:' + errorCount);
    }


    $(document).ready(function(){
        test();
    }
</script>
于 2013-11-07T19:39:20.157 に答える