Jquery - 选择空文本输入并为它们添加边框

时间:2014-08-21 12:16:49

标签: jquery jquery-ui

我想为空文本输入字段添加边框。所以我写了下面的代码。但它没有用。所以我使用警告框来了解选择了多少选择器。但它返回0.我错了什么?

 $("input[type=submit]").click(function(){
       var empty = $('input:text[value=""]');
       alert(empty.length);

       if(empty.length >0){

           $("form").effect("shake",{
               times:3,
               distance : 50         

           },450,function(){
           $('input:text[value=""]').each(function(){
              $(this).css("border","1px solid red"); 
           });
           });



           return false;
       }

   });

2 个答案:

答案 0 :(得分:6)

尝试使用.filter()来实现此目的,在更改其中的值时,值属性不会受到影响。

$('input:text').filter(function(){
   return $.trim(this.value).length == 0;
}).css("border","1px solid red");

答案 1 :(得分:1)

试试这个:

$("input[type=submit]").click(function(){
    var isShake = 0;
    $('input:text').filter(function(){
        if ($.trim(this.value).length == 0){
            isShake = 1;
            $(this).css("border","1px solid red");
        }else{
            $(this).css("border","1px solid black");
        }           
    });

    if(isShake){
        alert('Shake Effect or something like');
    }
});

<强> Check JSFiddle Demo