0

我正在尝试遍历表单中的所有输入,如果输入不包含值,则做几件事。

到目前为止,这是我的代码,

$('input').each(function() {
    if($(this+'[value!=""]')) {
        $('.requiredMark').hide();
        $(this).after(checkMark);   
    }       
});

我究竟做错了什么?谢谢

4

5 回答 5

1

那个 if 语句是错误的。this不会引用字符串。使用.val()获取值:

 $('input').each(function(){
     var $this = $(this);

     if($this.val() != "") {
         $('.requiredMark').hide();
         $this.after(checkMark);   
     }       
 });
于 2013-05-02T20:48:03.480 回答
1

您可以使用 $(this+'[value!=""]') 代替

if($(this).val()===''){
   //if the element has empty value, do something here
}
于 2013-05-02T20:49:10.037 回答
0

这应该可以解决问题。

 $('input').each(function(){
            if($(this).val()){
                $('.requiredMark').hide();
                $(this).after(checkMark);   
            }       
      });
于 2013-05-02T20:48:50.647 回答
0

您可以访问您的输入字段$(this)

获得它的价值$(this).val()

于 2013-05-02T20:49:04.670 回答
0
$('input').val(function(index,el){
    if(el.length){
        alert('Has value')
    }
});

http://jsfiddle.net/VpmAv/

于 2013-05-02T20:50:25.990 回答