2011-10-31 1 views
1

J'ai une variable appelée $places:Utiliser jQuery pour tester si l'utilisateur a tapé une entrée?

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

Quand il y a plus de 0 places le code suivant ajouter la classe .have-results. S'il y a 0 le code ajoute la classe .no-results au corps:

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

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

Je voudrais ajouter une autre classe appelée .hasnt-typed-yet. Je sais que c'est un nom horrible pour une classe, mais c'est ce que je veux accomplir; ajouter cette classe au corps si l'utilisateur n'a pas encore tapé dans l'entrée.

Des suggestions pour y parvenir?

Répondre

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(); 
Questions connexes