이 글의 예시에서는 jquery를 기반으로 자동 완성 기능을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
$(function() {
// 自动补全
var maxcount = 0;// 表示他最大的值
var thisCount =0;// 初始化他框的位置
$("body").prepend("
");
$("#sele").keyup(function(even) {
var v = even.which;
If (v == 38 || v == 40 || v == 13)// 상하 키 또는 확인 키를 클릭할 때 데이터 전송을 방지
{
반품;
}
var txt = $("#sele").val();//여기서 입력 상자의 값을 가져옵니다
If (txt != "") {
//데이터 취합
$.ajax({
url: "Birthday_autoCompletion",//백그라운드에서 json 데이터 가져오기
유형: "게시물",
데이터 유형: "json",
데이터: {"bir.userName": txt
},
성공 : 함수(ls) {
var offset = $("#sele").offset();
$("#autoTxt").show();
$("#autoTxt").css("top", (offset.top 30) "px");
$("#autoTxt").css("left", offset.left "px");
var 후보 = "";
Maxcount = 0; // 그럴 가치가 있습니다
$.each(ls, function(k, v) {
후보자 = "
" v "";
>
});
$("#autoTxt").html(후보자);
$("#autoTxt li:eq(0)").css("배경", "#A8A5A5");
//객체 강조
$('body').highLight();
$('body').highLight($("#sele").val());
event.preventDefault();
//LI 클릭시 반영
$("#autoTxt li").click(function(){
$("#sele").val($("#autoTxt li:eq(" this.id ")").text());
$("#autoTxt").html("");
$("#autoTxt").hide();
});
//移动对象
$("#autoTxt li").hover(function(){
$("#autoTxt li").css("배경", "#FFFFFF");
$("#autoTxt li:eq(" this.id ")").css("배경", "#A8A5A5");
thisCount=this.id;},function(){
$("#autoTxt li").css("배경", "#FFFFFF");});
},
오류: 함수() {
$("#autoTxt").html("");
$("#autoTxt").hide();
최대 개수 = 0;
}
});
} 그 밖의 {
$("#autoTxt").hide();
최대 개수 = 0;
$("#sestart").click();
}
});
//当单击BODY时则隐藏搜索值
$("body").click(function(){
$("#autoTxt").html("");
$("#autoTxt").hide();
thisCount=0;
});
// 写移动事件//上键38 下键40 确定键 13
$("body").keyup(function(even) {
var v = even.which;
if (v == 38)// 按上键时
{
if(thisCount!=0){//等于零时则证明不能上了。所以获得焦点
$("#sele").blur();
if(thisCount>0)
--thisCount;
그 외
thisCount=0;
$("#autoTxt li").css("배경", "#FFFFFF");
$("#autoTxt li:eq(" thisCount ")").css("배경", "#A8A5A5");
}else{$("#sele").focus();}
} else if (v == 40) {// 按下键时
if(thisCount
{
$("#sele").blur();
thisCount;
$("#autoTxt li").css("배경", "#FFFFFF");
$("#autoTxt li:eq(" thisCount ")").css("배경", "#A8A5A5");
}
} else if (v == 13) {// 按确认键时
var tt=$("#" thisCount).text();
if(tt!="")
{
$("#sele").val(tt);
$("#autoTxt").html("");
$("#autoTxt").hide();
}다른
{
if($("#sele").val()!="")
$("#sestart").click();
}
} 그 밖의 {
if($("#autoTxt").html()!="")
{
$("#sele").focus();
thisCount=0;
}
}
});
});
希望本文所述对大家의 jQuery는 매우 유용합니다.