0

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

语法?谢谢你的帮助。

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');
}
4

3 回答 3

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');
}
于 2012-05-23T07:33:23.267 回答
0
$('.answer').each(function(){
    $.trim($(this).value()).length>0? $('#theOne').addClass('show') : '';
});
于 2012-05-23T07:48:28.483 回答
0
if ($('.answer').filter(function(){return $(this).val() != '';}).length) {
   $('#theOne').addClass('show');
}
于 2012-05-23T07:36:49.487 回答