jQuery:文本框是否为空

时间:2011-05-10 13:25:58

标签: jquery

我在页面上有几个文本框,想象10,这10个中的4个具有类“myClass”。我想知道所有这些带有“myClass”类的文本框的长度是否为0,在一行命令中

可能的?

谢谢,

UPDATE1

function MyValidation() {
    var res = true;
    if (!$("input:text.MyClass[value!='']").length) {
        alert("testing");
        res = false;
    }
    return res;
}

当你使用这段代码时,我总是收到一个“真实”,从不“假”,从不“测试”。我尝试了每个答案的代码。

4 个答案:

答案 0 :(得分:5)

这应该足够了

if ( $('.myClass').filter(function(){
                             return $(this).val() != '';
                           }).length == 0
   )
 {
  /* code to run when all are empty */

 }

demo http://jsfiddle.net/gaby/QasRK/


在字符串更改中容纳空格

return $(this).val() != '';

return $(this).val().replace(/\s/g,'') != '';

在将其与''

进行比较之前,会删除空白文本

答案 1 :(得分:1)

你可以写

if (!$(input.myClass).is(function() { return this.value.length > 0; }))

答案 2 :(得分:1)

也可以使用适当的attribute selector

来完成
if (!$("input:text.myClass[value!='']").length) {
    // All the .myClass text boxes are empty.
}

答案 3 :(得分:0)

如果你想要价值观:

var any = $("input:text.myClass").map(function() {
    var value = $.trim($(this).val());
    if (value != "") return value;
}).length > 0;

http://jsfiddle.net/hunter/e6yEd/


如果你不这样做:

var any = $("input:text.myClass").filter(function() {
    return $.trim($(this).val()) != "";
}).length > 0;

http://jsfiddle.net/hunter/e6yEd/5/