jQuery如果其中一个输入有任何值,则添加一个类

时间:2012-05-23 07:31:50

标签: jquery forms each

如果页面上的六个文本字段之一中有任何输入,请尝试向按钮添加类。收到有关“Uncaught TypeError: Object [object Object] has no method 'value'”的控制台错误,指的是我的var val行。

Syntaxual?谢谢你的帮助。

HTML:

<input id="a" class="answer" type="text">
<input id="b" class="answer" type="text">

JavaScript的:

var val = $('.answer').each(function(){
    $(this).value();
});

if (/^\s*$/.test(val)){
    $('#theOne').addClass('show');
}

3 个答案:

答案 0 :(得分:2)

该方法为val,而不是value

var val = $('.answer').each(function(){
    $(this).val();
});

您可能一直在考虑本地value属性(在效率方面可能更可取):

var val = $('.answer').each(function(){
    this.value;
});

然而,由于您的each循环实际上没有做任何事情,所以这一点都没有帮助。您可以使用filter查看是否有任何输入值:

var inputs = $(".answer").filter(function() {
    return this.value;
});
if(inputs.length) {
    $('#theOne').addClass('show');
}

答案 1 :(得分:0)

if ($('.answer').filter(function(){return $(this).val() != '';}).length) {
   $('#theOne').addClass('show');
}

答案 2 :(得分:0)

$('.answer').each(function(){
    $.trim($(this).value()).length>0? $('#theOne').addClass('show') : '';
});