Home > Web Front-end > JS Tutorial > body text

Automatically complete JS classes (pure JS, Ajax mode)_javascript skills

WBOY
Release: 2016-05-16 18:55:21
Original
1055 people have browsed it

1. Encapsulated JS file
//****************************************** *****************
//Creation date: 2009-03-10
//Author: oloen
//Content description: Automatically complete JS class
//Usage:
// var auto = new autoComplete(client ID);
// auto.Init(document.all.client ID);
//**** *************************************************** **
//Autocomplete
function autoComplete(id)
{
var me = this;
//Autocomplete binding control client ID
me.AutoCompleteControlID
me.handle = null
me.DivResult;
me.currentIndex = -1;
me.LastIndex = -1;
me.requestObj;
me.CurrentTD = '';
if(id != null && typeof(id) != undefined)
me.AutoCompleteControlID = id;
if(me.DivResult == null||typeof(me.DivResult)=="undefined ")
{
me.DivResult = document.createElement("div");
var parent = document.getElementById(me.AutoCompleteControlID).parentElement;
if(typeof(parent)!= "undefined"){
parent.appendChild(me.DivResult);
}
}
this.Init = function(obj)
{
me.handle = obj
me.AutoCompleteControlID = obj.id
}
this.Auto = function()
{
me.DivResult.style.position = "absolute";
me.DivResult.style. top = me.handle.getBoundingClientRect().top 17;
me.DivResult.style.left = me.handle.getBoundingClientRect().left;
me.DivResult.style.width = me.handle.width ;
me.DivResult.style.height = 20;
me.DivResult.style.backgroundColor = "#ffffff";
//If you press up, down or enter
if ( event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13)
{
me.SelectItem();
}
else
{
//Restore the drop-down selection to -1
currentIndex = -1;
if(window.XMLHttpRequest)
{
me.requestObj = new XMLHttpRequest();
if(me. requestObj.overrideMimeType)
me.requestObj.overrideMimeType("text/xml");
}
else if(window.ActiveXObject)
{
try
{
me .requestObj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
me.requestObj = new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(me.requestObj == null)
return;
me.requestObj.onreadystatechange = me.ShowResult;
me.requestObj.open("GET", "../ Common/AutoComplete.aspx?InputValue=" escape(me.handle.value), true);
me.requestObj.send();
}
}
this.ShowResult = function()
{
if (me.requestObj.readyState == 4)
{
me.DivResult.innerHTML = me.requestObj.responseText;
me.DivResult.style.display = "" ;
}
}
this.SelectItem = function()
{
//result
var result = document.getElementById("Tmp_AutoComplete_tblResult");
if (! result)
return;
if(result.rows[me.LastIndex] != null)
{
result.rows[me.LastIndex].style.backgroundColor = "#FFFFFF";
result.rows[me.LastIndex].style.color = "#000000";
}
var maxRow = result.rows.length;
//up
if (event.keyCode == 38 && me.currentIndex > 0)
me.currentIndex--;
//Down
if (event.keyCode == 40 && me.currentIndex me .currentIndex;
//Enter
if (event.keyCode == 13)
{
me.Select()
me.InitItem();
return;
}
if(result.rows[me.currentIndex]!=undefined)
{
//Selected color
result.rows[me.currentIndex].style.backgroundColor = "#3161CE" ;
result.rows[me.currentIndex].style.color = "#FFFFFF";
}
me.DivResult.style.height = maxRow * 15;
me.LastIndex = me. currentIndex;
}
this.Select = function()
{
var result = document.getElementById("Tmp_AutoComplete_tblResult");
if (!result)
return;
var ReturnValue = result.rows[me.currentIndex].ReturnValue;
if(ReturnValue != undefined)
{
me.DivResult.style.display = 'none';
//Set Page value
ReturnAutoComplete(ReturnValue);
}
}
this.Hide = function()
{
me.DivResult.style.display = 'none';
me.currentIndex = -1;
}
this.InitItem = function()
{
me.DivResult.style.display = 'none';
me.DivResult.innerHTML = " ";
me.currentIndex = -1;
}
me.DivResult.onclick = function()
{
me.Auto();
}
document. getElementById(me.AutoCompleteControlID).onclick = function(){
me.Auto();
}
document.getElementById(me.AutoCompleteControlID).onkeyup = function(){
me.Auto ();
}
document.getElementById(me.AutoCompleteControlID).onkeydown = function(){
if (event.keyCode == 13)
{
me.Select()
me.InitItem();
return;
}
}
document.getElementById(me.AutoCompleteControlID).onblur = function(){
me.Hide();
}
}
2 Backend query page
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System .Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI .HtmlControls;
//using System.Data.SqlClient;
//****************************** ******************************
//Creation date: 2009-03-10
//Author: oloen
//Content description: Automatically complete the background query page
//****************************************** *********************
///


/// Automatically complete the background query page
///

public partial class Common_AutoComplete : System.Web.UI.Page
{
const string tbStyle = @"";
///
/// Filter conditions
///

string Filter = string.Empty;
///
/// Query value
///

string InputValue = string. Empty;
///
/// Auto-complete category
/// Currently only supports UnitNo query in the sales system
///

string Type = string .Empty;
///
/// Return result character
///

string ReturnStr = string.Empty;
private void Page_Load(object sender, System.EventArgs e)
{
switch (Type.ToLower())
{
case "psunit":
default:
AutoPSUnitNo();
break;
}
Response.Clear();
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.Write(ReturnStr);
Response.End();
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Filter = Request.QueryString["Filter"] ?? "";
InputValue = Request.QueryString["InputValue"] ?? "";
InputValue.Replace("'","''");
}
///
/// The sales system room number is automatically completed
///

void AutoPSUnitNo()
{
if (! string.IsNullOrEmpty(InputValue))
{
ReturnStr = @"

";
";
#region 数据库操作
//string Sql = string.Format(@"SELECT TOP 10 UnitID,UnitNo,ProjectNo,PhaseNo,BlockNo FROM View_PS_Unit WHERE UnitNo LIKE '%{0}%'", InputValue);
//using (SqlDataReader sdr = DataAccessHelper.ExecuteReader(Sql) as SqlDataReader)
//{
// if (sdr == null || !sdr.HasRows)
// {
// ReturnStr = string.Empty;
// return;
// }
// while (sdr.Read())
// {
// string td = string.Format(@"", sdr["ProjectNo"].ToString());
// //td = string.Format(@"", sdr["PhaseNo"].ToString());
// //td = string.Format(@"", sdr["BlockNo"].ToString());
// td = string.Format(@"", sdr["UnitNo"].ToString());
// ReturnStr = string.Format(@"{2}", sdr["UnitID"].ToString(), sdr["UnitNo"].ToString(), td);
// }
//}
#endregion
for (int i = 0; i {
string td = string.Format(@"", "编号");
td = string.Format(@"", "姓名");
td = string.Format(@"", i.ToString());
td = string.Format(@"", InputValue);
ReturnStr = string.Format(@"{2}", i.ToString(), InputValue, td);
}
ReturnStr = @"
{0}{0}{0}{0}
{0}{0}{0}{0}
#region Database operation
//string Sql = string.Format(@"SELECT TOP 10 UnitID,UnitNo,ProjectNo,PhaseNo,BlockNo FROM View_PS_Unit WHERE UnitNo LIKE '%{0}%'", InputValue);
//using (SqlDataReader sdr = DataAccessHelper.ExecuteReader(Sql) as SqlDataReader)
//{
// if (sdr == null || !sdr.HasRows)
// { / / ReturnStr = string.Empty;
// return; // }
// while (sdr.Read()) // {
// string td = string.Format (@"{0}", sdr["ProjectNo"].ToString()); // //td = string.Format(@" {0}", sdr["PhaseNo"].ToString());
// //td = string.Format(@"{0}", sdr["BlockNo"].ToString());
// td = string.Format(@"{0}", sdr["UnitNo"].ToString()); // ReturnStr = string.Format(@"<tr returnvalue="" unitid="" unitno="">{2}</tr>", sdr["UnitID"].ToString(), sdr[ "UnitNo"].ToString(), td); // }
//} #endregion
for (int i = 0; i {
string td = string.Format(@"{0}", "number"); td = string.Format(@"{0}", "Name");
td = string.Format(@"{0}", i.ToString());
td = string.Format(@"{0}", InputValue) ; ReturnStr = string.Format(@"{2}", i.ToString(), InputValue, td);
}
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template