jQuery實現自動提示,分類選擇等功能的搜尋框
阿新 • • 發佈:2019-02-13
//初始條件
//高亮
var highLight={
'background-color':'#0099FF',
'color':'white'
}
//預設亮度
var faultLight={
'color':'#000',
'background-color':'#FFF'
}
var keyType="resource";
var sortValue="publishDatetime" ;
$(function(){
$("#resource").css(highLight);
$("#publishDatetime").css(highLight);
//把搜尋型別按鈕 繫結點選事件
$("#search-list li").click(function(){
var $this=$(this);
keyType=$this["0"].attributes["1"].value
if(keyType=="requirement"){
$("#buyCount" ).hide();
if(sortValue=="buyCount"){
sortValue="publishDatetime";
$("#publishDatetime").css(highLight);
}
}else{
$("#buyCount").show();
}
$this.css('background-color','#13c5c4' )
$("#search-list li").css(faultLight);
$this.css(highLight);
console.log($this["0"].attributes["1"].value);
$("#ss").click();
});
//把排序方式 繫結點選事件
$("#search-sort li").click(function(){
var $this=$(this);
sortValue=$this["0"].attributes["1"].value
$("#search-sort li").css(faultLight);
$this.css(highLight)
console.log(sortValue);
$("#ss").click();
});
//繫結回車事件,有問題
$("body").keydown(function() {
if(event.keyCode=="13"){
$("#ss").click();
}
});
$("#ss").click(function(){
// 載入
var dialog = bootbox.dialog({
message: '<p><i class="fa fa-spin fa-spinner"></i> 載入中...</p>',
closeButton: false
});
var pageNo=$("#hidCurrentPage").val();
var keyWord=$('#search_input').val();
if(keyWord.length==0){
dialog.modal('hide');// 載入結束
}else{
if(pageNo==''||typeof(pageNo)==undefined){
$.ajax({
url:'${pageContext.request.contextPath}/bid/reAction_complexSearch.action',
type:'POST',
data:{
pageNo:1,
keyType:keyType,
keyWord:keyWord,
sortValue:sortValue
},
success:function(data){
$('#110').html(data);
dialog.modal('hide');// 載入結束
},
error:function(){
dialog.modal('hide');// 載入結束
errorTip();//出錯提示
},
});
}else{
$.ajax({
url:'${pageContext.request.contextPath}/bid/reAction_complexSearch.action',
type:'POST',
data:{
pageNo:pageNo,
keyType:keyType,
keyWord:keyWord,
sortValue:sortValue
},
success:function(data){
$('#110').html(data);
dialog.modal('hide');// 載入結束
},
error:function(){
dialog.modal('hide');// 載入結束
errorTip();//出錯提示
},
});
}
}
})
})
//跳轉頁面的方法
$(function ttt(){
var keyWord="";
var url = location.search
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("=");
keyWord=strs[1];
$('#search_input').val(keyWord);
$("#ss").click();
}
console.log(keyWord);
})
//自動提示——搜尋框
$(function(){
$('#search_input').bind('input propertychange click',function(){
var searchText =$('#search_input').val();
if($.trim(searchText)=="" ){
$('#search-suggest').hide();
}else{
$.get('${pageContext.request.contextPath}/bid/reAction_autoComplete.action?keyWord='+searchText+'&keyType='+keyType,function(d){
var d=d;
var html='';
console.log(d);
for(var i=0;i<d.length;i++){
html+= '<li>'+d[i].searchText+'</li>' ;
}
var inputBoxW=$('#search_input').outerWidth(true);
var inputBtnW=$('#ss').outerWidth(true);
$('#search-result').html(html);
$('#search-suggest').show().css({
top:$('#search-form').offset().top+$('#search-form').height(),
left:$('#search-form').offset().left,
position:'absolute',
width:inputBoxW-inputBtnW
});
$("#search-result li").click(function(){
var $this=$(this);
console.log($this["0"].innerText);
$('#search_input').val($this["0"].innerText);
$("#ss").click();
});
},'json');
}
})
})
$(function(){
$(document).bind('click',function(){
$('#search-suggest').hide();
});
})
$(function(){
//二級標題
$("#current").empty();
var url = location.pathname;
console.log(url.split('/'));
if(url.split('/')[2]=="searchResult"){
var html="<strong>搜尋結果 </strong>";
$("#current").append(html);
}
var allH = $(window).outerHeight(true);//總高度
var footerH =$('#footer').outerHeight(true);//底部高度
var headH =$('#head-bar-area').outerHeight(true);//導航高度
var loginH =$('#head-login-area').outerHeight(true);//登入高度
$('#searchResultArea').css('min-height',allH-footerH-headH-loginH-30);
})
//錯誤頁面執行
function errorTip(){
var dialog = bootbox.dialog({
message: '<i class="glyphicon glyphicon-remove-sign text-danger"></i>未知錯誤!頁面將在3秒後重新整理<i class="fa fa-spin fa-spinner"></i>,如果沒有,<a href="/DataMarket/index">請點選此處重新整理</a>',
closeButton: false
});
dialog.init(function(){
setTimeout(function(){
location.href ="${pageContext.request.contextPath}/index";
}, 3000);
});
}