2016-03-07 49 views
0

隱藏div當有人開始在搜索字段中輸入文本時,我使用下面的代碼隱藏div。將文本輸入到字段並在文本被刪除時再次顯示

$('#search').keypress(function() { 
$('#hello').hide(); 
$(this).focus(); 
}); 

我的問題是,我不知道怎樣才能當文本在搜索字段中被清除,我再次顯示隱藏的股利。 有人可以幫助或引導我嗎?

jsfiddle here

回答

0

下面是代碼,使其工作

$('#search').keyup(function() { 
    if($(this).val() == ''){ 
     $('#hello').show(); 
    }else{ 
     $('#hello').hide(); 
    } 
}); 

這裏更新JSFiddle代碼

+0

是的:)這是非常容易,但無法弄清楚!現在它工作完美 – George

0

您可以測試是否字段爲空(當KEYUP代替):

$('#search').keyup(function() { 
if($(this).val() == ''){ 
    $('#hello').show(); 
} 
else{ 
$('#hello').hide(); 
$(this).focus(); 
} 

}); 
0
$('#search').keyup(function() { 
    var searchTerm = $(this).val(); 
    var searchTermLength = searchTerm.length; 
    if (searchTermLength == 0) { 
     $('#hello').show() 
    } else { 
     $('#hello').hide() 
    }; 
}); 
0
$('#search').keyup(function() { 
    if ($("#search").val().length != 0) { 
     $('#hello').hide(); 
    } else { 
     $("#hello").show(); 
    } 
}); 
0

這是否把戲

$('#search').keyup(function() { 
     $(this).val().length ? $('#hello').hide() : $('#hello').show(); 
    }); 
0

使用更改()函數來代替,這是隻有當字段的值已經完全改變調用。

$('#search').change(function() { 
if($(this).val() == ''){ 
    $('#hello').show(); 
}else{ 
    $('#hello').hide(); 
} 

});

+1

不.change()要求輸入在被觸發前失去焦點。這意味着直到文本輸入被清除並且輸入失去焦點後纔會顯示div。但我可能是錯的。 – gavgrif

+0

是的,即使我感覺一樣。只有當輸入失去焦點時纔會觸發更改事件。 –

相關問題