Contoh dalam artikel ini menerangkan kaedah fungsi penyiapan automatik berdasarkan jquery. Kongsikan dengan semua orang untuk rujukan anda. Kaedah pelaksanaan khusus adalah seperti berikut:
$(function() {
// 自动补全
var maxcount = 0;// 表示他最大的值
var thisCount =0;// 初始化他框的位置
$("body").prepend("
");
$("#sele").keyup(fungsi(genap) {
var v = genap.yang;
Jika (v == 38 || v == 40 || v == 13)// Halang dia daripada menghantar data apabila mengklik kekunci atas dan bawah atau kekunci OK
{
kembali;
}
var txt = $("#sele").val();//Ini adalah untuk mendapatkan nilai kotak inputnya
Jika (txt !="") {
//Kumpul data
$.ajax({
url: "Birthday_autoCompletion",//Dapatkan data json dari latar belakang
jenis: "siaran",
dataJenis: "json",
data: {"bir.userName": txt
},
kejayaan : function(ls) {
var offset = $("#sele").offset();
$("#autoTxt").tunjukkan();
$("#autoTxt").css("atas", (offset.top 30) "px");
$("#autoTxt").css("left", offset.left "px");
var Calon = "";
maxcount = 0;//Dapatkan nilai sekali lagi
$.setiap(ls, fungsi(k, v) {
Calon = "
" v "";
});
$("#autoTxt").html(Calon);
$("#autoTxt li:eq(0)").css("latar belakang", "#A8A5A5");
//Serlahkan objek
$('body').highLight();
$('body').highLight($("#sele").val());
acara.preventDefault();
//Refleksi apabila LI diklik
$("#autoTxt li").klik(fungsi(){
$("#sele").val($("#autoTxt li:eq(" this.id ")").text());
$("#autoTxt").html("");
$("#autoTxt").sembunyikan();
});
//移动对象
$("#autoTxt li").tuding(fungsi(){
$("#autoTxt li").css("latar belakang", "#FFFFFF");
$("#autoTxt li:eq(" this.id ")").css("latar belakang", "#A8A5A5");
thisCount=this.id;},function(){
$("#autoTxt li").css("latar belakang", "#FFFFFF");});
},
ralat : function() {
$("#autoTxt").html("");
$("#autoTxt").sembunyikan();
maxcount = 0;
}
});
} lain {
$("#autoTxt").sembunyikan();
maxcount = 0;
$("#sestart").klik();
}
});
//当单击BODY时则隐藏搜索值
$("body").klik(function(){
$("#autoTxt").html("");
$("#autoTxt").sembunyikan();
thisCount=0;
});
// 写移动事件//上键38 下键40 确定键 13
$("badan").keyup(fungsi(genap) {
var v = genap.yang;
if (v == 38)// 按上键时
{
if(thisCount!=0){//等于零时则证明不能上了。所以获得焦点
$("#sele").blur();
if(thisCount>0)
--thisCount;
lain
thisCount=0;
$("#autoTxt li").css("latar belakang", "#FFFFFF");
$("#autoTxt li:eq(" thisCount ")").css("background", "#A8A5A5");
}lain{$("#sele").fokus();}
} else if (v == 40) {// 按下键时
if(thisCount
{
$("#sele").blur();
ThisCount;
$("#autoTxt li").css("latar belakang", "#FFFFFF");
$("#autoTxt li:eq(" thisCount ")").css("background", "#A8A5A5");
}
} else if (v == 13) {// 按确认键时
var tt=$("#" thisCount).text();
jika(tt!="")
{
$("#sele").val(tt);
$("#autoTxt").html("");
$("#autoTxt").sembunyikan();
}lain
{
if($("#sele").val()!="")
$("#sestart").klik();
}
} lain {
if($("#autoTxt").html()!="")
{
$("#sele").fokus();
thisCount=0;
}
}
});
});