不用插件实现异步自动提示
不用插件实现自动提示实现思路:
1:focus事件执行清空原来的提示
2:keyup事件判断非空时查询显示提示框
3:blur事件隐藏显示框
优点:不用学习其他插件,自己可以精确控制
js部分:
$(function() {
// 查询框获得焦点
$("#queryWord").focus(function() {
$("#queryWord").val("");
});
// 查询框有输入
$("#queryWord").keyup(function() {
if($("#queryWord").val().length > 0){
getAnswer($("#queryWord").val());
}
});
// 查询框失去焦点
$("#queryWord").blur(function() {
if ($("#queryWord").val().length == 0) {
$("#queryWord").val("输入节目名称或视频的网址(URL)");
}
$("#autocomplete").hide();
});
});
// 自动提示
function getAnswer(queryWord) {
$.ajax({
type : "POST",
url : "getPromptAnswer.action",
cache : false,
data : "word=" + $("#queryWord").val() + "&t=" + Math.random(),
dataType : "json",
async : true,
success : function(json) {
if ($.isEmptyObject(json)) {
$("#autocomplete").hide();
} else {
$("#autocomplete").empty();
$.each(json,function(i,n){
$("#autocomplete").append('<li><a href="#"><span class="title">'+json[i].keyword+'</span><span class="type">'+json[i].typeStr+'</span></a></li>');
});
$("#autocomplete").show();
}
}
});
}
html部分:
<div class="indexnav_so">
<div class="indexnav_tool">
<input type="text" class="" id="queryWord" value="输入节目名称或视频的网址(URL)" />
<button onclick="query(jQuery('#queryWord').val())">查询</button></div>
<!--When focused input add class="search" to change input color-->
<ul id="autocomplete" class="autocomplete" style="display:none;"></ul>
</div>
后台Java部分:返回json格式即可
[{"keyword":"第二十二条婚规","name":"d","typeStr":"电视剧"},{"keyword":"大唐女巡按","name":"d","typeStr":"电视剧"},{"keyword":"独生子女的婆婆妈妈","name":"d","typeStr":"电视剧"},{"keyword":"第八号当铺","name":"d","typeStr":"电视剧"},{"keyword":"大太监","name":"d","typeStr":"电视剧"},{"keyword":"毒女","name":"d","typeStr":"电影"},{"keyword":"大男当婚","name":"d","typeStr":"电视剧"},{"keyword":"读心神探","name":"d","typeStr":"电视剧"},{"keyword":"敌后便衣队传奇","name":"d","typeStr":"电视剧"},{"keyword":"大宅门 第一部","name":"d","typeStr":"电视剧"}]
抱歉,暂停评论。