2011-10-31 2 views
1

$places라는 변수가 있습니다.사용자가 입력을 입력했는지 jQuery를 사용하여 테스트 하시겠습니까?

 var $places = $('#resultsListing li.place'); 

0보다 큰 places이있을 경우 다음 코드는 .have-results 클래스를 추가합니다. 결과가 0이면 코드는 .no-results 클래스를 본문에 추가합니다.

body.removeClass("have-results no-results searching"); 

body.addClass(places.length > 0 ? "have-results" : "no-results"); 
$("div#busyAnimation").hide(); 

.hasnt-typed-yet이라는 또 다른 클래스를 추가하고 싶습니다. 저는 그것이 수업에 대한 끔찍한 이름이라는 것을 압니다. 그러나 그것은 제가 성취하고자하는 것입니다. 사용자가 아직 입력하지 않은 경우 해당 클래스를 본문에 추가하십시오.

이 작업을 수행하기위한 제안은 무엇입니까?

답변

2
var textbox_text = $("#searchbox").val(); 
if(textbox_text !== ''){ 
    body.addClass(places.length > 0 ? "have-results" : "no-results"); 
}else{ 
    body.addClass('hasnt-typed-yet'); 
} 
$("div#busyAnimation").hide(); 
0
if($('input').val() == '') 
    $('body:first').addClass('hasnt-typed-yet') 
else 
    $('body:first').removeClass('hasnt-typed-yet') 
0
$textbox = $('#searchbox'); 
$body = $('body').filter(':first'); 
$places = $('#resultsListing li.place'); 

$textbox.keyup(function() { 
    if($(this).val() == '') $body.addClass('hasnt-typed-yet'); 
    else $body.removeClass('hasnt-typed-yet'); 
}); 

$body.addClass($places.length > 0 ? 'have-results' : 'no-results'); 
$('#busyAnimation').hide(); 
관련 문제