<form class="navbar-form navbar-right" role="search">
<div class="form-group">
<input id="search_text" type="search" class="form-control" placeholder="Search" size="30">
<div class="form_control" id="search_info" style="width:283px;height:125px;top:86%;position:absolute;background-color:white; border: 1px solid #dce4ec;border-radius: 4px;display:none;"></div>
</div>
</form>
$("#search_text").keypress(function (){
if($("#search_text").val().length == 0)
{
$("#search_info").hide();
}
else if($("#search_text").val().length != 0)
{
$("#search_info").show();
}
});
我的问题是,使用此代码只会显示 $( “#search_info”) 在第二个按键。例如,如果我正在输入我所拥有的搜索字段 $(“#search_text”),$(“#search_info”)应该在第一次按下时显示但是没有,当我在搜索字段中有多个字符时它会显示$(“#search_info”)。
我似乎无法弄明白。
答案 0 :(得分:1)
使用keyup
代替keypress
- 当按键触发时,尚未将值插入输入中。
$("#search_text").keyup(function (){
if($("#search_text").val().length == 0)
{
$("#search_info").hide();
}
else if($("#search_text").val().length != 0)
{
$("#search_info").show();
}
});