2012-05-23 50 views
0

如果在頁面上的六個文本字段之一中有任何輸入,則嘗試向按鈕添加類。獲取一個控制檯錯誤,指出「Uncaught TypeError: Object [object Object] has no method 'value'」指的是我的var val行。jQuery如果其中一個輸入有任何值,則添加一個類

語法?謝謝你的幫助。

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

回答

2

的方法是val,不value

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

你可能一直在思考本土value財產(這是可能在效率方面更好ency):

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

但是,沒有這種幫助鑑於你each環實際上並沒有做任何事情。你可以使用filter,看看是否有你的輸入有一個值:

var inputs = $(".answer").filter(function() { 
    return this.value; 
}); 
if(inputs.length) { 
    $('#theOne').addClass('show'); 
} 
0
if ($('.answer').filter(function(){return $(this).val() != '';}).length) { 
    $('#theOne').addClass('show'); 
} 
0
$('.answer').each(function(){ 
    $.trim($(this).value()).length>0? $('#theOne').addClass('show') : ''; 
}); 
相關問題