아주 유용한 전단 js 자동 보완 플러그인을 발견하여 여러분께 공유합니다 (false)
$(function() {
$("#tt").bigAutocomplete({
width : 600, //
data : [ {
title : " ",
result : {
ff : "qq"
}
}, {
title : " "
}, {
title : " "
}, {
title : " "
}, {
title : " "
}, {
title : " "
}, {
title : " "
}, {
title : " "
}, {
title : " "
}, {
title : " "
} ],
callback : function(data) {
//do something
}
});
})
jquery.bigautocomplete.js
jquery.bigautocomplete.css(function($){ var bigAutocomplete = new function(){ this.currentInputText = null;// ( ) this.functionalKeyArray = [9,20,13,16,17,18,91,92,93,45,36,33,34,35,37,39,112,113,114,115,116,117,118,119,120,121,122,123,144,19,145,40,38,27];// this.holdText = null;// // div, document mousedown, div div this.init = function(){ $("body").append("
"); $(document).bind('mousedown',function(event){ var $target = $(event.target); if((!($target.parents().andSelf().is('#bigAutocompleteContent'))) && (!$target.is(bigAutocomplete.currentInputText))){ bigAutocomplete.hideAutocomplete(); } }) // $("#bigAutocompleteContent").delegate("tr", "mouseover", function() { $("#bigAutocompleteContent tr").removeClass("ct"); $(this).addClass("ct"); }).delegate("tr", "mouseout", function() { $("#bigAutocompleteContent tr").removeClass("ct"); }); // , , callback $("#bigAutocompleteContent").delegate("tr", "click", function() { bigAutocomplete.currentInputText.val( $(this).find("div:last").html()); var callback_ = bigAutocomplete.currentInputText.data("config").callback; if($("#bigAutocompleteContent").css("display") != "none" && callback_ && $.isFunction(callback_)){ callback_($(this).data("jsonData")); } bigAutocomplete.hideAutocomplete(); }) } this.autocomplete = function(param){ if($("body").length > 0 && $("#bigAutocompleteContent").length <= 0){ bigAutocomplete.init();// } var $this = $(this);// jquery var $bigAutocompleteContent = $("#bigAutocompleteContent"); this.config = { //width: , width:$this.outerWidth() - 2, //url: url:"" ajax , data url:null, /*data: {data:[{title:null,result:{}},{title:null,result:{}}]} url data ,data */ data:null, //callback: callback:null}; $.extend(this.config,param); $this.data("config",this.config); // keydown $this.keydown(function(event) { switch (event.keyCode) { case 40:// if($bigAutocompleteContent.css("display") == "none")return; var $nextSiblingTr = $bigAutocompleteContent.find(".ct"); if($nextSiblingTr.length <= 0){// , $nextSiblingTr = $bigAutocompleteContent.find("tr:first"); }else{ $nextSiblingTr = $nextSiblingTr.next(); } $bigAutocompleteContent.find("tr").removeClass("ct"); if($nextSiblingTr.length > 0){// ( ) $nextSiblingTr.addClass("ct");// $this.val($nextSiblingTr.find("div:last").html());// //div ,jquery-1.6.1 $nextSiblingTr.offset().top bug, $bigAutocompleteContent.scrollTop($nextSiblingTr[0].offsetTop - $bigAutocompleteContent.height() + $nextSiblingTr.height() ); }else{ $this.val(bigAutocomplete.holdText);// } break; case 38:// if($bigAutocompleteContent.css("display") == "none")return; var $previousSiblingTr = $bigAutocompleteContent.find(".ct"); if($previousSiblingTr.length <= 0){// , $previousSiblingTr = $bigAutocompleteContent.find("tr:last"); }else{ $previousSiblingTr = $previousSiblingTr.prev(); } $bigAutocompleteContent.find("tr").removeClass("ct"); if($previousSiblingTr.length > 0){// ( ) $previousSiblingTr.addClass("ct");// $this.val($previousSiblingTr.find("div:last").html());// //div ,jquery-1.6.1 $$previousSiblingTr.offset().top bug, $bigAutocompleteContent.scrollTop($previousSiblingTr[0].offsetTop - $bigAutocompleteContent.height() + $previousSiblingTr.height()); }else{ $this.val(bigAutocomplete.holdText);// } break; case 27://ESC bigAutocomplete.hideAutocomplete(); break; } }); // keyup $this.keyup(function(event) { var k = event.keyCode; var ctrl = event.ctrlKey; var isFunctionalKey = false;// for(var i=0;i
-1){ data_.push(data[i]); } } makeContAndShow(data_); }else if(url != null && url != ""){//ajax $.post(url,{keyword:keyword_},function(result){ makeContAndShow(result.data) },"json") } bigAutocomplete.holdText = $this.val(); } // if(k == 13){ var callback_ = $this.data("config").callback; if($bigAutocompleteContent.css("display") != "none"){ if(callback_ && $.isFunction(callback_)){ callback_($bigAutocompleteContent.find(".ct").data("jsonData")); } $bigAutocompleteContent.hide(); } } }); // html function makeContAndShow(data_){ if(data_ == null || data_.length <=0 ){ return; } var cont = ""; for(var i=0;i " } cont += " "; $bigAutocompleteContent.html(cont); $bigAutocompleteContent.show(); // tr , $bigAutocompleteContent.find("tr").each(function(index){ $(this).data("jsonData",data_[index]); }) } // focus $this.focus(function(){ bigAutocomplete.currentInputText = $this; }); } // this.hideAutocomplete = function(){ var $bigAutocompleteContent = $("#bigAutocompleteContent"); if($bigAutocompleteContent.css("display") != "none"){ $bigAutocompleteContent.find("tr").removeClass("ct"); $bigAutocompleteContent.hide(); } } }; $.fn.bigAutocomplete = bigAutocomplete.autocomplete; })(jQuery)
" + data_[i].title + "
.bigautocomplete-layout{
display: none;;
background-color: #FFFFFF;
border: 1px solid #BCBCBC;
position: absolute;
z-index: 100;
max-height: 220px;
overflow-x:hidden;
overflow-y:auto;
}
.bigautocomplete-layout table{
border-collapse: collapse;
border-spacing: 0;
background: none repeat scroll 0 0 #FFFFFF;
width: 100%;
cursor: default;
}
.bigautocomplete-layout table tr{
background: none repeat scroll 0 0 #FFFFFF;
}
.bigautocomplete-layout .ct{
background: none repeat scroll 0 0 #D2DEE8 !important;
}
.bigautocomplete-layout div{
word-wrap:break-word;
word-break:break-all;
padding:1px 5px;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.