<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JS自動完成AutoComplete(Ajax查詢)_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 20:43:24
        文檔

        JS自動完成AutoComplete(Ajax查詢)_javascript技巧

        JS自動完成AutoComplete(Ajax查詢)_javascript技巧:一:JS 部分 代碼如下://******************************************************** //創建日期: 2009-03-10 //作 者: oloen //內容說明: 自動完成JS類 //用法: // var auto = new autoComplete(客戶端ID); //
        推薦度:
        導讀JS自動完成AutoComplete(Ajax查詢)_javascript技巧:一:JS 部分 代碼如下://******************************************************** //創建日期: 2009-03-10 //作 者: oloen //內容說明: 自動完成JS類 //用法: // var auto = new autoComplete(客戶端ID); //


        一:JS 部分
        代碼如下:
        //********************************************************
        //創建日期: 2009-03-10
        //作 者: oloen
        //內容說明: 自動完成JS類
        //用法:
        // var auto = new autoComplete(客戶端ID);
        // auto.Init(document.all.客戶端ID);
        // auto.Type = 'PSUnit' //PSSale
        //********************************************************
        //自動完成
        function autoComplete(id)
        {
        var me = this;
        //自動完成綁定控件客戶端ID
        me.AutoCompleteControlID
        me.handle = null
        me.DivResult ;
        me.currentIndex = -1;
        me.LastIndex = -1;
        me.requestObj;
        me.CurrentTD = '';
        me.Filter = '1=1';
        me.Type = 'PSUnit'
        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 - 11;
        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 (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13)
        {
        me.SelectItem();
        }
        else
        {
        //恢復下拉選擇項為 -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) + "&Filter=" + me.Filter + "&Type=" + me.Type, 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()
        {
        //結果
        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;
        //向上
        if (event.keyCode == 38 && me.currentIndex > 0)
        me.currentIndex--;
        //向下
        if (event.keyCode == 40 && me.currentIndex < maxRow-1)
        me.currentIndex++;
        //回車
        if (event.keyCode == 13)
        {
        me.Select()
        me.InitItem();
        return;
        }
        if(result.rows[me.currentIndex]!=undefined)
        {
        //選中顏色
        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 || result.rows.length<=0)
        return;
        //默認第一條記錄
        if(me.currentIndex < 0)
        me.currentIndex = 0;
        var ReturnValue = result.rows[me.currentIndex].ReturnValue;
        if(ReturnValue != undefined)
        {
        me.DivResult.style.display = 'none';
        //設置頁面值
        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()
        {
        try{me.Auto();}catch(e){}
        }
        document.getElementById(me.AutoCompleteControlID).onclick = function(){
        try{me.Auto();}catch(e){}
        }
        document.getElementById(me.AutoCompleteControlID).onkeyup = function(){
        try{me.Auto();}catch(e){}
        }
        document.getElementById(me.AutoCompleteControlID).onkeydown = function(){
        if (event.keyCode == 13)
        {
        try
        {
        me.Select()
        me.InitItem();
        }catch(e){}
        }
        }
        document.getElementById(me.AutoCompleteControlID).onblur = function(){
        me.Hide();
        }
        }

        2 后臺查詢頁面
        代碼如下:
        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;
        //********************************************************
        //創建日期: 2009-03-10
        //作 者: Oloen
        //內容說明: 自動完成后臺查詢頁面
        // Type:pssale 合同查詢
        // Type:psunit 房間查詢
        //********************************************************
        ///
        /// 自動完成后臺查詢頁面
        ///

        public partial class Common_AutoComplete : System.Web.UI.Page
        {
        const string tbStyle = @"style=""color:#F7922E""";
        ///
        /// 過濾條件
        ///

        string Filter = string.Empty;
        ///
        /// 查詢值
        ///

        string InputValue = string.Empty;
        ///
        /// 自動完成類別
        /// Type:pssale 合同查詢
        /// Type:psunit 房間查詢
        ///

        string Type = string.Empty;
        ///
        /// 返回結果字符
        ///

        string ReturnStr = string.Empty;
        private void Page_Load(object sender, System.EventArgs e)
        {
        switch (Type.ToLower())
        {
        case "pssale":
        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"] ?? "1=1";
        InputValue = Request.QueryString["InputValue"] ?? "";
        InputValue.Replace("'","''");
        Type = Request.QueryString["Type"] ?? "";
        }
        ///
        /// 售樓系統房間編號自動完成
        ///

        void AutoPSUnitNo()
        {
        if (!string.IsNullOrEmpty(InputValue))
        {
        ReturnStr = @"";
        string Sql = string.Format(@"SELECT TOP 10 UnitID,UnitNo,ProjectNo,PhaseNo,BlockNo FROM View_PS_Unit WHERE UnitNo LIKE '%{0}%' AND {1}", InputValue, Filter);
        if (Type.ToLower().Equals("pssale"))
        Sql = string.Format(@"SELECT TOP 10 SaleID,UnitID,UnitNo,ContractNo,Name,SaleDate,SellingPrice,ProjectNo FROM View_PS_Sale_Unit WHERE UnitNo LIKE '%{0}%' AND {1}", InputValue, Filter);
        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(), tbStyle);
        if (Type.ToLower().Equals("pssale"))
        {
        ReturnStr += string.Format(@"{7}",
        sdr["SaleID"].ToString(), sdr["UnitID"].ToString(),
        sdr["UnitNo"].ToString(), sdr["ContractNo"].ToString(),
        sdr["Name"].ToString(), sdr["SaleDate"].ToString(),
        sdr["SellingPrice"].ToString(), td);
        }
        else
        ReturnStr += string.Format(@"{2}", sdr["UnitID"].ToString(), sdr["UnitNo"].ToString(), td);
        }
        }
        ReturnStr += @"
        {0}{0}{0}{0}
        ";
        }
        }
        }

        3 調用部分
        代碼如下:



        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS自動完成AutoComplete(Ajax查詢)_javascript技巧

        JS自動完成AutoComplete(Ajax查詢)_javascript技巧:一:JS 部分 代碼如下://******************************************************** //創建日期: 2009-03-10 //作 者: oloen //內容說明: 自動完成JS類 //用法: // var auto = new autoComplete(客戶端ID); //
        推薦度:
        標簽: js 自動完成 ajax
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 日美韩电影免费看| 在线视频免费国产成人| 精品国产人成亚洲区| 青草青草视频2免费观看| 男女超爽刺激视频免费播放 | 99re视频精品全部免费| 久久精品国产96精品亚洲 | 亚洲色欲久久久综合网| 中文毛片无遮挡高清免费| 国产亚洲av人片在线观看| 黄桃AV无码免费一区二区三区| 亚洲黄黄黄网站在线观看| eeuss影院www天堂免费| 亚洲色大成网站www永久一区| a级毛片免费在线观看| 亚洲一区二区三区日本久久九| 久视频精品免费观看99| 亚洲三级在线观看| 免费h黄肉动漫在线观看| sihu国产精品永久免费| 国产亚洲午夜高清国产拍精品| 久久久久久免费一区二区三区| 4444亚洲国产成人精品| 亚洲免费网站观看视频| 美女裸免费观看网站| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲JLZZJLZZ少妇| 国产乱人免费视频| 免费无码又爽又刺激高潮软件| 亚洲第一页在线观看| 午夜国产大片免费观看| 99re6在线精品免费观看| 亚洲成年人免费网站| 日韩电影免费在线| 国产免费无码AV片在线观看不卡| 亚洲综合在线视频| 日本免费观看网站| 无码人妻丰满熟妇区免费| 亚洲综合精品第一页| 亚洲一区二区三区影院| 日本在线高清免费爱做网站|