文本框文本自动补全效果示例分享_jquery
/*文本自动补全 zhouxiang*/
(function ($) {
$.Completion = function (setting) {
var opts = $.extend({}, $.Completion.DefaultSetting, setting);
//宽度
var Completion_Width = null;
//高度
var Completion_Height = null;
//数据源(ashx)访问路径
var Completion_Data_Url = null;
//对象
var Completion_Obj = null;
var Completion_Obj_Show = null;
//对象距离左边距
var Completion_Obj_MarginLeft = null;
//对象距离上边距
var Completion_Obj_MarginTop = null;
//对象高度
var Completion_Obj_Height = null;
//分类
var Completion_Count = null;
//
var Completion_Type_obj = null;
//内容
var Completion_Value = null;
//类型
var Completion_Type = null;
//是否传入类型
var Completion_Bool = false;
//计数
var Completion_N = 0;
//回车回调
var Completion_ClickCall = null;
//加载
function Completion_Loading() {
//初始化
Init();
//绑定事件
Completion_Obj_AddEvent();
}
//初始化
function Init() {
Completion_Obj_Show = opts.Completion_Obj_Show;
//获取对象
Completion_Obj = opts.Completion_Obj;
//获取对象宽度
Completion_Width = Completion_Obj.width();
//获取层显示高度
Completion_Height = opts.Completion_Height;
//获取访问数据库URL
Completion_Data_Url = opts.Completion_Data_Url;
//每次查询多少条记录
Completion_Count = opts.Completion_Count;
//获取对象高度
Completion_Obj_Height = Completion_Obj.height();
//获取左边距
Completion_Obj_MarginLeft = Completion_Obj.offset().left;
//获取上边距
Completion_Obj_MarginTop = parseInt(Completion_Obj.offset().top) + parseInt(Completion_Obj_Height);
Completion_Type_obj = opts.Completion_Type_obj;
Completion_Bool = opts.Completion_Bool;
Completion_ClickCall = opts.Completion_ClickCall;
}
//给对象添加事件
function Completion_Obj_AddEvent() {
Completion_Obj.keyup(function (event) {
switch (event.keyCode) {
case 38:
break;
case 40:
break;
case 13:
Completion_ClickCall();
break;
default:
//按键事件 延迟操作
Cimpletion_Bind();
break;
}
});
Completion_Obj.keydown(function (event) {
switch (event.keyCode) {
case 13:
break;
case 38:
if (Completion_N == 0) {
Completion_N = (Completion_Obj_Show.find("li").length - 1);
} else if (Completion_N != 0) {
Completion_N = Completion_N - 1;
}
//alert(Completion_N);
Completion_Obj_Show.find("li").find("a").removeClass("Completion-guess-list-hover");
Completion_Obj_Show.find("li").eq(Completion_N).find("a").addClass("Completion-guess-list-hover");
Completion_Obj.val(Completion_Obj_Show.find("li").eq(Completion_N).find("ul").text());
break;
case 40:
if (Completion_N + 1 Completion_N = Completion_N + 1;
} else if (Completion_N + 1 == Completion_Obj_Show.find("li").length) {
Completion_N = 0;
}
Completion_Obj_Show.find("li").find("a").removeClass("Completion-guess-list-hover");
Completion_Obj.val(Completion_Obj_Show.find("li").eq(Completion_N).find("ul").text());
Completion_Obj_Show.find("li").eq(Completion_N).find("a").addClass("Completion-guess-list-hover");
break;
default:
break;
}
});
}
//绑定方法
function Cimpletion_Bind() {
//是否开启类型判断
if (Completion_Bool) {
Completion_Type = Completion_Type_obj.val();
}
Completion_Value = Completion_Obj.val();
Completion_Value = Completion_Value.replace(" ", "");
//执行验证
Completion_Verification(Completion_Value);
if (Completion_Value.length > 1) {
//得到数据 构造HTML
Completion_Data_Bind();
} else {
Completion_Obj_Show.hide();
}
}
//验证
function Completion_Verification(obj) {
if (obj == "" || obj == null || obj == undefined) {
return false;
}
}
//执行AJAX请求 得到数据
function Completion_Data_Bind() {
$.ajax({
url: Completion_Data_Url,
data: { CompletionValue: Completion_Value, CompletionCount: Completion_Count, CompletionType: Completion_Type },
type: "post",
dataType: "json",
success: function (obj) {
//构造HTML
Completion_Add_Html(obj);
}
});
}
//选中
function Completion_Selected(obj) {
Completion_Obj.val(obj.find("ul").text());
Completion_Obj_Show.hide();
}
//构造内容
function Completion_Add_Html(obj) {
var data = obj.Completion_Data;
//执行验证
Completion_Verification(data);
var ComPletion_Li = "";
if (data != null && data != undefined) {
for (var i = 0; i //执行验证是否为空
var dr = data[i];
Completion_Verification(dr);
var ComPletionName = dr.ComPletion_Name;
ComPletionName = ComPletionName.replace(Completion_Value.toUpperCase(), "" + Completion_Value.toUpperCase() + "");
ComPletion_Li += "
- " + ComPletionName + "
}
if (ComPletion_Li != "") {
var Completion_Html = "
- " + ComPletion_Li + "
Completion_Obj_Html(Completion_Html);
} else {
Completion_Obj_Show.hide();
}
}
}
//mouse
function MouseHover(obj) {
Completion_Obj_Show.find("li").mouseover(function () {
Completion_Obj_Show.find("li").find("a").removeClass("Completion-guess-list-hover");
Completion_Obj.val($(this).find("ul").text());
Completion_N = Completion_Obj_Show.find("li").index(this);
});
}
//绑定到控件
function Completion_Obj_Html(html) {
Completion_Obj_Show.show();
Completion_Obj_Show.html("")
Completion_Obj_Show.css({ "width": Completion_Width + 6, "height": Completion_Height, "border-width": "1px", "border-color": "#CCC", "border-top-width": "0px", "border-style": "solid", "position": "relative", "z-index": "100000" });
Completion_Obj_Show.attr("class", "Completion-guess-list");
Completion_Obj_Show.html(html);
Completion_N = -1;
Completion_Obj_Show.find("li").unbind("click").click(function () {
Completion_Selected($(this));
});
MouseHover($(this));
Completion_Obj_Show.click(function (e) {
e.stopPropagation();
})
Completion_Obj.click(function (e) {
Cimpletion_Bind();
e.stopPropagation();
});
$(document).click(function () {
Completion_Obj_Show.hide();
});
}
//加载
Completion_Loading();
};
//默认配置
$.Completion.DefaultSetting = {
Completion_Height: null,
Completion_Data_Url: null,
Completion_Obj: null,
Completion_Obj_Show: null,
Completion_Bool: false,
Completion_Count: 10,
Completion_Type_obj: null,
Completion_ClickCall: null
};
})(jQuery);
body
{
margin: 0;
padding: 0;
}
.Completion-guess-list ul, li
{
margin: 0;
padding: 0;
list-style:none;
}
.Completion-guess-list
{
overflow: auto;
font-size: 12px;
line-height: 180%;
background: #fff;
}
.Completion-guess-list a
{
color: #555;
text-decoration: none;
display: block;
padding: 1px 6px;
overflow: hidden;
white-space: nowrap;
font-family:Verdana,arial;
}
.Completion-guess-list a .c-total{float:right;color:green;}
.Completion-guess-list a:hover,.Completion-guess-list a.Completion-guess-list-hover
{
background: #3399ff;
color: #fff;
}
.Completion-guess-list a:hover span.c-total,.Completion-guess-list a.Completion-guess-list-hover span.c-total{color:#fff;}
.Completion-guess-list .c-hover{font-weight:700;}
$.Completion({ Completion_Obj: $("#Input_Html"), Completion_Data_Url: "/CompletionHandler.ashx", Completion_Height: "auto", Completion_Obj_Show: $("#show"), Completion_Bool: true, Completion_Type_obj: $("#Type"), Completion_ClickCall: function () { alert(1); }, Completion_Length: 0 });

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Pembangunan PHP: Melaksanakan gesaan kata kunci carian dan fungsi penyiapan automatik Dalam era Internet hari ini, enjin carian telah menjadi salah satu saluran penting untuk orang ramai mendapatkan maklumat. Dalam pembangunan laman web, kepentingan fungsi carian adalah jelas. Untuk meningkatkan pengalaman pengguna dan hasil carian, melaksanakan gesaan kata kunci carian dan fungsi penyiapan automatik adalah tugas pembangunan yang sangat berharga dan perlu. Artikel ini akan memperkenalkan cara melaksanakan gesaan kata kunci carian dan fungsi penyiapan automatik dalam pembangunan PHP, dan menyediakan contoh kod khusus. Gesaan kata kunci carian merujuk kepada apabila pengguna memasukkan

Gambaran keseluruhan tentang cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi autolengkap: Autolengkap ialah fungsi yang sangat praktikal yang boleh menyediakan pilihan penyelesaian yang berkaitan berdasarkan input pengguna dan meningkatkan pengalaman pengguna. Dalam rangka kerja Vue, digabungkan dengan perpustakaan komponen Element-UI, ia menjadi sangat mudah untuk melaksanakan fungsi penyiapan automatik. Artikel ini akan memperkenalkan cara menggunakan Vue dan Element-UI untuk melaksanakan fungsi ini dan memberikan contoh kod yang sepadan. Langkah 1: Buat projek Vue dan perkenalkan perpustakaan Element-UI Pertama,

Dalam bidang pengaturcaraan komputer, bahasa C sentiasa digemari oleh pembangun kerana kesederhanaan dan kecekapannya. Untuk meningkatkan kecekapan dalam pengaturcaraan bahasa C, adalah sangat penting untuk memilih editor bahasa C yang baik. Artikel ini akan memperkenalkan beberapa editor bahasa C yang berkuasa untuk membantu pembangun melaksanakan pengaturcaraan bahasa C dengan lebih baik. VisualStudioCodeVisualStudioCode (pendek kata VSCode) ialah editor rentas platform percuma, sumber terbuka, yang dibangunkan oleh Microsoft. Ia menyokong berbilang bahasa

Petua anotasi dan pelengkapan automatik dalam Eclipse IDE memudahkan pembangunan Java: Petua: Tuding pada anotasi untuk melihat jenis, parameter dan dokumentasinya. Autolengkap: Secara automatik mencadangkan padanan semasa anda menaip nama anotasi, termasuk anotasi standard dan tersuai. Kes praktikal menunjukkan penggunaan gesaan dan fungsi autolengkap. Ciri ini meningkatkan kecekapan pengekodan dan kualiti kod.

MySQL dan Python: Bagaimana untuk melaksanakan fungsi pertanyaan data Dalam beberapa tahun kebelakangan ini, pertumbuhan pesat data telah menjadikan pertanyaan dan analisis data sebagai tugas penting dalam pelbagai bidang. Sebagai sistem pengurusan pangkalan data hubungan yang digunakan secara meluas, MySQL, digabungkan dengan Python, bahasa pengaturcaraan yang berkuasa, boleh menyediakan fungsi pertanyaan data yang pantas dan fleksibel. Artikel ini akan memperkenalkan cara menggunakan MySQL dan Python untuk melaksanakan fungsi pertanyaan data dan menyediakan contoh kod. Pertama, kita perlu memasang dan mengkonfigurasi MySQL dan Python

Langkah untuk menyediakan pelengkapan automatik gerhana: 1. Hidupkan pelengkapan automatik 2. Sediakan cadangan pelengkapan automatik; Simpan dan tutup. Pengenalan terperinci: 1. Hidupkan pelengkapan automatik, pilih Tetingkap -> Keutamaan pada bar menu Eclipse, dalam kotak dialog pop timbul, kembangkan pilihan Java, pilih Editor -> Bantuan Kandungan, dsb. dalam tab di sebelah kanan .

Bagaimana untuk menggunakan JavaScript untuk merealisasikan fungsi segera penyiapan automatik kandungan kotak input borang? Dengan perkembangan Internet, fungsi cepat lengkap automatik bagi kotak input borang menjadi semakin biasa. Apabila pengguna memasukkan kandungan, kemungkinan pilihan penyelesaian akan disediakan berdasarkan data sedia ada untuk memudahkan pengguna memilih atau memasukkan maklumat yang betul dengan pantas. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi gesaan penyiapan automatik kandungan kotak input borang dan memberikan contoh kod khusus. Langkah Pertama: Buat Struktur HTML Mula-mula, kami

Autolengkap kotak carian ialah ciri web biasa yang meningkatkan pengalaman pengguna dan memudahkan proses carian. Fungsi pelengkapan automatik kotak carian dalam PHP boleh dilaksanakan melalui permintaan tak segerak Ajax. Kaedah pelaksanaan khusus akan diperkenalkan di bawah, termasuk contoh kod hadapan dan kod belakang. Contoh kod bahagian hadapan:
