亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Jquery實現搜索框提示功能示例代碼

2019-11-20 22:24:59
字體:
來源:轉載
供稿:網友
博客的前某一篇文章中//www.49028c.com/article/35175.htm寫過一個用Ajax來實現一個文本框輸入的提示功能。最近在一個管理項目的項目中,使用后發現,真的反應很慢,數據量很大的情況下使用Ajax去實現真的不合適,于是,我又寫了一個使用Jquery來實現方法。
廢話不多說,上圖上代碼:
 
引用方式:
復制代碼 代碼如下:

<body style="background-color: White;">
<form id="form1" runat="server">
<div id="filter_stationType"></div>
<div class="gover_search" width="100%">
<div class="gover_search_form clearfix" width="100%">
<span class="search_t"><b>按項目名稱檢索:</b></span>
        <%--autocomplete="off" 這個設置是禁止瀏覽器自動完成提示功能(就是歷史記錄自動提示)--%>
<asp:TextBox ID="search" runat="server" CssClass="input_search_key" Width="240px" autocomplete="off"></asp:TextBox> <asp:Button ID="btnSearchProject" runat="server" CssClass="search_btn" Text="查詢" OnClick="btnSearchProject_Click" /> <div class="search_suggest" id="gov_search_suggest"> <ul> </ul> </div> </div> </div> </form> </body>

JS代碼:
復制代碼 代碼如下:

<script type="text/javascript">
//實現搜索輸入框的輸入提示js類
var oSearchSuggest = function(searchFuc) {
// function oSearchSuggest(searchFuc) {
var searchsubmit = $('#btnSearchProject');
var input = $('#search');
var suggestWrap = $('#gov_search_suggest');
var key = "";
var init = function() {
input.bind('keyup', sendKeyWord);
input.bind('blur', function() { setTimeout(hideSuggest, 100); })
}
var hideSuggest = function() {
suggestWrap.hide();
}
//發送請求,根據關鍵字到后臺查詢
var sendKeyWord = function(event) {
//鍵盤選擇下拉項
if (suggestWrap.css('display') == 'block' && event.keyCode == 38 || event.keyCode == 40) {
var current = suggestWrap.find('li.hover');
if (event.keyCode == 38) {
if (current.length > 0) {
var prevLi = current.removeClass('hover').prev();
if (prevLi.length > 0) {
prevLi.addClass('hover');
input.val(prevLi.html());
}
} else {
var last = suggestWrap.find('li:last');
last.addClass('hover');
input.val(last.html());
}
} else if (event.keyCode == 40) {
if (current.length > 0) {
var nextLi = current.removeClass('hover').next();
if (nextLi.length > 0) {
nextLi.addClass('hover');
input.val(nextLi.html());
}
} else {
var first = suggestWrap.find('li:first');
first.addClass('hover');
input.val(first.html());
}
}
//輸入字符
} else {
var valText = $.trim(input.val());
if (valText == '' || valText == key) {
return;
}
searchFuc(valText);
key = valText;
}
}
//請求返回后,執行數據展示
this.dataDisplay = function(data) {
if (data.length <= 0) {
suggestWrap.hide();
return;
}
//往搜索框下拉建議顯示欄中添加條目并顯示
var li;
var tmpFrag = document.createDocumentFragment();
suggestWrap.find('ul').html('');
for (var i = 0; i < data.length; i++) {
li = document.createElement('LI');
li.innerHTML = data[i];
tmpFrag.appendChild(li);
}
suggestWrap.find('ul').append(tmpFrag);
suggestWrap.show();
//為下拉選項綁定鼠標事件,實現鼠標點擊選取
suggestWrap.find('li').hover(function() {
suggestWrap.find('li').removeClass('hover');
$(this).addClass('hover');
}, function() {
$(this).removeClass('hover');
}).bind('mousedown', function() {
input.val(this.innerHTML);
suggestWrap.hide();
searchsubmit.click();
});
}
init();
};
//實例化輸入提示的JS,參數為進行查詢操作時要調用的函數名
var searchSuggest = new oSearchSuggest(sendKeyWordToBack);
//這是一個模似函數,實現向后臺發送ajax查詢請求,并返回一個查詢結果數據,傳遞給前臺的JS,再由前臺JS來展示數據。本函數由程序員進行修改實現查詢的請求
//參數為一個字符串,是搜索輸入框中當前的內容
function sendKeyWordToBack(keyword) {
var sSearchKey = $("#search").val();
$("#search").bind("input propertychange", function(event) {
sSearchKey = $("#search").val();
});
$.ajax({
url: "WebService/wbsBLL.asmx/GetSearchInfo", //后臺webservice里的方法名稱根據自己需要實現返回數據位json
type: "POST",
dataType: "json",
async: false,
contentType: "application/json; charset=utf-8",
data: '{"sKeyName":"' + sSearchKey + '"}',
traditional: false,
beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
success: function(data) {
var aData = [];
for (var i in data) {
var jsonObj = $.parseJSON(data[i]);
for (var item in jsonObj) {
jsonObj = eval(jsonObj.SeachTable);
for (var i = 0; i < jsonObj.length; i++) {
if (jsonObj[i].projectName != "") {
aData.push(jsonObj[i].projectName);
}
}
}
}
searchSuggest.dataDisplay(aData);
},
error: function(msg, e) {
$("#filter_stationType").html("SQL語句有錯誤");
},
complete: function(x) {
}
});
}
</script>

index.css:
復制代碼 代碼如下:

@charset "utf-8";
/* CSS Document */
body, ul, li {
margin: 0;
padding: 0;
}
body{
font-size:12px;
font-family:sumsun,arial;
color:#666666;
background:#FFFFFF;
}
#searchtable{background:#E4E9F2; border-bottom:1px solid #C8CFDA; padding:0px 8px;height: 33px;}
#searchtable label{font-size:14px; display:inline-block; float:left; color:#333; text-shadow:1px 1px 0px #EBF5FA; font-weight:bold; padding:10px 0 8px 16px; background:url(../images/pemIcons.png) 2px -34px no-repeat; _background:url(../images/pemIcons.gif) 2px -34px no-repeat;}
#searchtable #search{border: 1px solid #C3C3C3; border-top: 1px solid #7C7C7C; border-left: 1px solid #9A9A9A;background: url(../images/today.gif) 0 -162px white repeat-x;outline: none; padding:3px 4px; _padding:3px 4px 5px; display:inline-block; float:left; margin:6px 12px 4px 0; zoom:1;}
#searchtable .btnSubmit{margin-top:6px;margin-left:5px; zoom:1; border: 1px solid #236300; background: #6B9F40 url(../images/buttonbg01.png) repeat-x 0 0; font-size:12px; color:#FFF; line-height:24px; height:24px; width:60px; font-weight:bold; display:block; text-align:center; float:left;}
#searchtable .btnSubmit:hover{text-decoration:none; background-position:0 -32px;}
#searchtable .btnSubmit:active{background-position:0 -64px;}
#searchtable .fBtn:hover{color:#000;}
table.datagrid {
border:1px solid #DDDDDD;
border-collapse:collapse;
}

.gover_search{ position:relative; z-index:99; height:33px; padding:15px 0 0 20px; border:1px solid #b8cfe6; border-bottom:0; background:#E4E9F2;border-bottom:1px solid #C8CFDA;}
.gover_search_form{height:36px;}
.gover_search .search_t{ float:left; width:112px; line-height:26px; color:#666666;}
.gover_search .input_search_key{ float:left; width:462px; height:18px; padding:3px; margin-right:5px; border:1px solid #cccccc; line-height:18px; background:#FFFFFF;}
.gover_search .search_btn{ padding-left:4px; width:68px; height:26px; overflow:hidden; border:1px solid #cccccc; text-align:center; color:#ffffff; letter-spacing:5px; background: #6B9F40 url(../images/buttonbg01.png) repeat-x 0 0; cursor:pointer; font-weight:bold;}
.gover_search .search_suggest{ position:absolute; z-index:999; left:132px; top:41px; width:468px; border:1px solid #999999; display:none; }
.gover_search .search_suggest li{height:24px; overflow:hidden; padding-left:3px; line-height:24px; background:#FFFFFF; cursor:default;}
.gover_search .search_suggest li.hover{background:#DDDDDD;}

后臺的webservice代碼這里就不展示了,主要就是查詢數據庫返回一個JSON格式的查詢結果給Jquery中的Data
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲a级在线播放观看| 亚洲精品国产品国语在线| 亚洲国产成人爱av在线播放| 欧美一级在线亚洲天堂| 久久躁狠狠躁夜夜爽| 成人精品aaaa网站| www.日韩.com| 欧美老女人www| 精品久久久香蕉免费精品视频| 久久中文久久字幕| 久久久爽爽爽美女图片| 国产精品v日韩精品| 久久精品99久久久久久久久| 人九九综合九九宗合| 久久久久国产精品一区| 欧美日韩精品中文字幕| 精品国产福利在线| 韩剧1988免费观看全集| 国产精品美女主播| 26uuu另类亚洲欧美日本一| 国产一区二区在线播放| 日韩中文字幕av| 欧美日韩国产综合视频在线观看中文| 51久久精品夜色国产麻豆| 久久精品影视伊人网| 中日韩午夜理伦电影免费| 亚洲国内精品视频| 亚洲国语精品自产拍在线观看| 亚洲男人天堂网| 日韩视频永久免费观看| 好吊成人免视频| 国产精品无码专区在线观看| 欧美大胆a视频| 在线播放日韩专区| 亚洲男人第一网站| 深夜福利亚洲导航| 日韩激情av在线免费观看| 久久国产精品久久久| 国产在线观看精品一区二区三区| 色综合视频一区中文字幕| 91精品综合久久久久久五月天| 日韩av在线最新| 亚洲肉体裸体xxxx137| 欧美在线观看日本一区| 久久精品国产99国产精品澳门| 一区二区在线视频播放| 色综合久久精品亚洲国产| 97视频免费观看| 国产精品欧美亚洲777777| 久久香蕉国产线看观看av| 日韩中文在线不卡| 中文字幕国内精品| 国产欧美日韩专区发布| 国产免费久久av| 51精品在线观看| 亚洲女人天堂成人av在线| 国产精品激情av在线播放| 日韩av理论片| 中文.日本.精品| 久久久久久久亚洲精品| 欧美性受xxxx黑人猛交| 国产午夜精品全部视频播放| 亚洲欧洲在线视频| 亚洲自拍偷拍区| 国产乱人伦真实精品视频| 一区二区三区四区精品| 亚洲自拍偷拍色图| 国产在线98福利播放视频| 九色精品免费永久在线| 国产999精品| 日本中文字幕久久看| 久久精品中文字幕免费mv| 国产91免费看片| 欧洲永久精品大片ww免费漫画| 中文字幕日韩av综合精品| 欧美国产一区二区三区| 欧美亚洲激情在线| 日本欧美爱爱爱| 国产香蕉一区二区三区在线视频| 欧美午夜视频在线观看| 黑人巨大精品欧美一区二区一视频| 亚洲黄色www| 91精品久久久久久久久久久| 亚洲欧美第一页| 一本一本久久a久久精品牛牛影视| 久久久久久国产精品三级玉女聊斋| 亚洲白虎美女被爆操| 亚洲人成77777在线观看网| 亚洲国产精品va| 久久久久久久久国产| 色婷婷综合成人av| 久热精品视频在线观看一区| 中国日韩欧美久久久久久久久| 亚洲色图校园春色| 国产精品久久久久久av福利| 色婷婷综合久久久久中文字幕1| 亚洲精品999| 色诱女教师一区二区三区| 久久免费视频在线| 亚洲综合精品一区二区| 色综合天天综合网国产成人网| 久久视频免费在线播放| 91热精品视频| 国产精品日韩电影| 亚洲人成电影网| 久久精品视频va| 日本最新高清不卡中文字幕| 在线视频日本亚洲性| 久久久国产精品免费| 日韩的一区二区| 欧美午夜激情视频| 宅男66日本亚洲欧美视频| 91亚洲人电影| 国产精品女视频| 亚洲视频在线观看| 国模私拍视频一区| xxx欧美精品| 日韩大片免费观看视频播放| 午夜精品久久久久久久男人的天堂| 国产精品久久久久久久久久久久久久| 欧美激情精品久久久久久大尺度| 国产剧情日韩欧美| 韩剧1988在线观看免费完整版| 日韩中文在线不卡| 亚洲欧洲偷拍精品| 久久久精品久久久| 久久亚洲精品中文字幕冲田杏梨| 久久成人人人人精品欧| 亚洲免费成人av电影| 中文字幕日韩视频| 精品丝袜一区二区三区| 久久久久女教师免费一区| 欧美一区二区大胆人体摄影专业网站| 性色av一区二区三区红粉影视| 国产91精品久久久久久| 日韩高清有码在线| 久久久久久久久久婷婷| 亚洲欧美日韩中文在线制服| 欧美中文字幕视频| 精品日韩视频在线观看| 亚洲精品电影网| 精品亚洲精品福利线在观看| 91在线观看免费网站| 亚洲精品一区二区三区不| 在线播放亚洲激情| 久久精品视频在线观看| 久久人体大胆视频| 国产在线精品自拍| 美女扒开尿口让男人操亚洲视频网站| 亚洲精品有码在线| 少妇高潮 亚洲精品| 成人黄色av网| 久久99热精品| 国产精品爽爽爽爽爽爽在线观看| 国产91在线高潮白浆在线观看| 日韩中文字幕第一页| 久久夜色撩人精品| 欧美精品中文字幕一区| 亚洲精品wwww| 91精品国产高清久久久久久91| 亚洲xxxxx电影| 26uuu亚洲伊人春色| 亚洲精品久久久久| 菠萝蜜影院一区二区免费|