`

jquery谷歌自动补全仿制

阅读更多

xml.jsp代码

<%@ page contentType="text/xml;charset=UTF-8" language="java" %>
<words>
    <word>1</word>
    <word>12</word>
    <word>123</word>
     <word>1234</word>
    <word>123456</word>
    <word>1234567</word>
</words>
 

 

 

html代码

 

<html>
<head>
    <title>Ajax谷歌自动补全仿制</title>
    <script type="text/javascript" src="jslib/jquery.js"></script>
    <script type="text/javascript" src="jslib/auto.js"></script>
</head>
<body>
自动补全<input type="text" id="word"/><input type="button" value="提交">
<br> <br><br>
<div id="auto"></div>

</body>
</html>

 

jslib/auto.js (添加css属性也添加进了js代码中)

 

var gaoliang = -1;
$(document).ready(function() {
    var wordInput = $("#word");
    var offset = wordInput.offset();
    $("#auto").hide()//初始化隐藏补全框
            .css("border", "1px black solid")
            .css("position", "absolute")
            .css("top", offset.top + wordInput.height() + 5 + "px")
            .css("left", offset.left + "px")
            .width(wordInput.width());
    $("#word").keyup(function(event) {//输入框添加键盘监听事件
        var ev = event || window.event;
        var evCode = ev.keyCode;
        if (evCode >= 65 && evCode <= 90 || evCode == 8 || evCode == 46) {

            var wordText = $("#word").val();
            if (wordText.length > 0) {
                $.post("xml.jsp", {word:wordText}, function(data) {
                    var obj = $(data);//接受的xml数据变成jquery对象
                    var wordNodes = obj.find("word");//查找xml数据中word节点的值
                    var auto = $("#auto");
                    auto.html("");
                    wordNodes.each(function() {//遍历数组
                        var wordNode = $(this);
                        $("<div>").html(wordNode.text()).appendTo(auto);//遍历到的值,添加进补全框
                    });
                    if (wordNodes.length > 0) {
                        auto.show();
                    } else {
                        auto.hide();
                        gaoliang = -1;
                    }


                }, "xml");
            }

        } else if (evCode == 38 || evCode == 40) {
            if (evCode == 38) {   //向上
                var autoNodes = $("#auto").children("div");
                if (gaoliang != -1) {//是否高亮补全框中div,全局状态变量gaoliang
                    autoNodes.eq(gaoliang).css("background-color", "white");//补全框div高亮
                    gaoliang--;
                } else {
                    gaoliang = autoNodes.length - 1;
                }

                if (gaoliang == -1) {
                    gaoliang = autoNodes.length - 1;
                }
                autoNodes.eq(gaoliang).css("background-color", "red");
            }
            if (evCode == 40) {    //向下
                var autoNodes = $("#auto").children("div");
                if (gaoliang != -1) {
                    autoNodes.eq(gaoliang).css("background-color", "white");
                }
                gaoliang++;
                if (gaoliang == autoNodes.length) {
                    gaoliang = 0;
                }
                autoNodes.eq(gaoliang).css("background-color", "red");

            }
        }
        else if (evCode == 13) { //回车提交
            if (gaoliang != -1) {
                var conText = $("#auto").children("div").eq(gaoliang).text().hide();
                gaoliang = -1;
                $("#word").val(conText);
            } else {
                alert("提交的内容为:" + $("#word").val());
            }

        }
    });
    $("input[type='button']").click(function() {
        alert("提交的内容为:" + $("#word").val());
    });
});
分享到:
评论

相关推荐

    改进版 jquery 仿百度谷歌自动补全输入(支持中文)

    标题“改进版 jquery 仿百度谷歌自动补全输入(支持中文)”涉及到的是一个基于jQuery的前端开发技术,旨在实现类似百度和谷歌搜索框的自动补全功能,而且这一版本特别优化了对中文字符的支持。在网页交互设计中,...

    jQuery实现自动补全功能

    在提供的压缩包文件"GoogleSuggest"中,可能包含了一个关于谷歌搜索建议的示例,它展示了如何使用jQuery UI Autocomplete来模拟谷歌搜索的自动补全效果。通过分析和学习这个示例,你可以更深入地理解如何与服务器...

    jQuery文本框联想补全自动完成插件

    jQuery文本框联想补全自动完成插件是一款非常实用的前端开发工具,它可以帮助开发者在网页的输入框中实现智能联想和自动补全功能。这个插件基于JavaScript库jQuery构建,因此,使用它之前需要确保项目中已经引入了...

    Jquery实现Google自动补全效果

    **jQuery实现Google自动补全效果** 在Web开发中,用户输入的实时提示功能,也称为自动补全(Autocomplete)或智能搜索,极大地提升了用户体验。本篇将介绍如何使用jQuery库来实现类似Google搜索那样的自动补全效果...

    jquery实现自动补全

    "jquery实现自动补全"是利用jQuery来创建一个功能强大的输入框,当用户输入文本时,系统会自动提供可能的匹配项,这种功能常用于搜索引擎、地址输入、用户名建议等场景,极大地提高了用户体验。 自动补全...

    高级jQuery自动补全插件

    **jQuery自动补全插件详解** 在Web开发中,用户界面的交互性和便捷性是提升用户体验的关键因素之一。其中,自动补全功能是一项常见的需求,它可以在用户输入时提供预测建议,大大加快输入速度,降低错误率。jQuery...

    jquery自动补全示例。包括后台,中文乱码解决JS

    **jQuery自动补全插件详解** jQuery 自动补全插件是一种常见的前端开发工具,它为用户在输入框中提供动态建议,提高了用户体验,尤其在处理大量数据输入时显得尤为重要。本示例将涵盖如何使用jQuery实现自动补全...

    jQuery combobox自动补全

    **jQuery Combobox自动补全**是一种常见的前端交互组件,它结合了输入框和下拉列表的功能,为用户提供方便的数据选择和快速输入体验。这个组件在网页应用中广泛使用,尤其适用于需要用户从大量预定义选项中进行选择...

    jquery文本框自动补全实例

    在本文中,我们将深入探讨如何使用jQuery实现一个文本框自动补全的功能,这对于提升用户输入体验,尤其是在处理大量可选项时非常有用。我们将基于提供的文件`autoComplate.html`、`jquery-1.5.js`、`uuAutoComplete....

    jquery autocomplete自动补全功能实现

    本文将深入探讨如何利用jQuery实现自动补全功能,特别是针对邮箱、城市和中文的自动补全场景。 首先,让我们了解jQuery UI中的Autocomplete插件。这个插件允许开发者基于用户输入的字符动态提供建议列表。要使用它...

    jQuery百度搜索自动补全插件.zip

    jQuery百度搜索自动补全插件基于流行的JavaScript库jQuery和typeahead.js实现,为网页上的搜索框提供了高效且用户友好的自动补全功能。这个插件主要用于提升用户体验,尤其是在需要处理大量数据并希望用户能快速找到...

    Jquery自动补全

    jQuery自动补全是一种常见的前端开发技术,用于提升用户体验,特别是在搜索框或输入字段中,它能够根据用户输入的内容实时提供预测建议。这个功能在许多网站和应用中都有所应用,如百度搜索、谷歌搜索等。它能够帮助...

    Asp.net+JQuery自动补全

    Asp.net与jQuery结合实现的自动补全功能(autocomplete)是一种常见的前端交互设计,它能够极大地提高用户在输入框中的输入效率。此功能通常应用于搜索框、表单填充等场景,为用户提供动态提示,根据他们输入的部分...

    jquery标签自动补全特效源码.zip

    《jQuery标签自动补全特效源码解析》 在网页开发中,用户输入的标签自动补全功能已经成为一种常见的交互设计,极大地提升了用户体验。本资源"jquery标签自动补全特效源码.zip"提供了一套基于jQuery实现的标签自动...

    jquery自动补全插件

    **jQuery自动补全插件详解** 在Web开发中,用户输入常常是交互体验的重要环节,为了提高用户体验,很多网站和应用引入了自动补全(Autocomplete)功能。jQuery作为一个广泛使用的JavaScript库,提供了丰富的插件...

    jquery 自动补全搜索框控件

    jQuery 自动补全搜索框控件是Web开发中常用的一种功能,它极大地提高了用户体验,尤其在需要用户输入关键字进行查询的场景下。该控件基于jQuery库,通过实时匹配用户输入,动态显示一个建议列表,帮助用户快速找到...

    jquery模仿google自动补全案例

    在本文中,我们将深入探讨如何使用jQuery来实现一个模仿Google搜索的自动补全功能。这个功能常见于许多网站,能够极大地提升用户体验,帮助用户快速找到他们想要搜索的关键词。我们将基于给定的"jquery模仿google...

    jQuery自动补全示例

    本示例为jquery自动补全的示例,其中包括两部分,第一是在本地构造的json格式的数据供自动补全用,第二是从后台将数据处理成json格式,jquery通过ajax请求后台的json数据,其中还有处理autocomplete不支持中文的方法...

    jquery文本框自动补全ajax autocomplete 完整实例

    在本文中,我们将深入探讨如何使用jQuery实现一个基于Ajax的文本框自动补全功能,以及相关的`autocomplete`插件的完整实例。这个功能在许多Web应用程序中非常常见,它能够提高用户输入的效率和用户体验。 首先,让...

    jquery suggest 自动补全插件演示

    jQuery Suggest插件就是这样一个工具,它为网页中的输入框提供了自动补全功能,使得用户在输入时能快速找到并选择所需的内容,大大提高了输入效率。本篇文章将深入探讨jQuery Suggest插件的使用方法、原理以及如何...

Global site tag (gtag.js) - Google Analytics