1. 程式人生 > >jQuery實現自動提示,分類選擇等功能的搜尋框

jQuery實現自動提示,分類選擇等功能的搜尋框

//初始條件 //高亮 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); }); }