`

jquery autocomplete插件结合ajax使用demo

 
阅读更多

转载自:https://my.oschina.net/zimingforever/blog/63877

 

autocomplete是jqueryUI里的一个插件

效果和说明可以访问这里,作用类似于搜索时的自动提示:

http://jqueryui.com/demos/autocomplete/#default

今天项目中用到了这个插件

首先是引入文件,除了juqery和juqeryUI的基本文件外,还需要引入下面的文件

 

<!-- autocomplete -->
    <script src="<%=request.getContextPath()%>/share/js/jqueryPlugin/autoComplete/jquery.ui.core.js"></script>
    <script src="<%=request.getContextPath()%>/share/js/jqueryPlugin/autoComplete/jquery.ui.widget.js"></script>
    <script src="<%=request.getContextPath()%>/share/js/jqueryPlugin/autoComplete/jquery.ui.position.js"></script>
    <script src="<%=request.getContextPath()%>/share/js/jqueryPlugin/autoComplete/jquery.ui.autocomplete.js"></script>

 

接下来就是使用,js文件如下:

 

$( "#tags" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: "sql/sqlgetWebsqlDataBaseInforAjax",
                    dataType: "json",
                    data:{
                        searchDbInforItem: request.term
                    },
                    success: function( data ) {
                        response( $.map( data, function( item ) {
                            return {
                                dbId:item.dbid,
                                jdbcUrl:item.jdbcUrl,
                                ip:item.ip,
                                port:item.port,
                                sch:item.sch,
                                username: item.username,
                                password:item.password,
                                value: item.labelview
                            }
                        }));
                    }
                });
            },
            minLength: 1,
            select: function( event, ui ) {
                $("#dbInforDdId").val(ui.item.dbId);
                $("#dbInforDdjdbcUrl").val(ui.item.jdbcUrl);
                $("#dbInforIp").val(ui.item.ip);
                $("#dbInforPort").val(ui.item.port);
                $("#dbInforSch").val(ui.item.sch);
                $("#dbInforUserName").val(ui.item.username);
                $("#dbInforPassword").val(ui.item.password);
            }
        });

  

这段脚本是给tag这个input加入autocomplete插件,然后通过request.term取到模糊搜索的词,然后调用ajax返回一个json串到response中,其中用到了一个map函数。然后实现select方法,即把response的item通过ui.item写入到各个input中。实现数据自动填充。 

其中,有个label和value参数,lable是下拉框中显示的值,value是选中后自动填充的值,可以分别设置,也可以只设置一个,例如我就只设置一个value。

效果如下:

 



 

接下来,对这个脚本加以改进,加入cache,这样就不用每次都通过ajax来获取。改进的脚本如下:

 

//autocomplete插件
        //缓存
        var cache = {};
        $( "#tags" ).autocomplete({
            source: function(request, response ) {
                var term = request.term;
                if ( term in cache ) {
                    response( $.map( cache[ term ], function( item ) {
                        return {
                            dbId:item.dbid,
                            jdbcUrl:item.jdbcUrl,
                            ip:item.ip,
                            port:item.port,
                            sch:item.sch,
                            username: item.username,
                            password:item.password,
                            value: item.labelview
                        }
                    }));
                    return;
                }
                $.ajax({
                    url: "sql/sqlgetWebsqlDataBaseInforAjax",
                    dataType: "json",
                    data:{
                        searchDbInforItem: request.term
                    },
                    success: function( data ) {
                        cache[ term ] = data;
                        response( $.map( data, function( item ) {
                            return {
                                dbId:item.dbid,
                                jdbcUrl:item.jdbcUrl,
                                ip:item.ip,
                                port:item.port,
                                sch:item.sch,
                                username: item.username,
                                password:item.password,
                                value: item.labelview
                            }
                        }));
                    }
                });
            },
            minLength: 1,
            select: function( event, ui ) {
                $("#dbInforDdId").val(ui.item.dbId);
                $("#dbInforDdjdbcUrl").val(ui.item.jdbcUrl);
                $("#dbInforIp").val(ui.item.ip);
                $("#dbInforPort").val(ui.item.port);
                $("#dbInforSch").val(ui.item.sch);
                $("#dbInforUserName").val(ui.item.username);
                $("#dbInforPassword").val(ui.item.password);
            }
        });

 

效果是一样的,只是第二次的时候从缓存中取得了数据不用再调用ajax了。

总结一下,autocomplete是jqueryUI的一个插件,可以实现自动填充的功能。它的source支持string和ajax传过来的json,另外还支持jsonp(没有深入研究)。可以改进脚本,加入cache来减少ajax的请求。

  • 大小: 44.4 KB
分享到:
评论

相关推荐

    jquery autocomplete dwr结合 修改Data

    标题中的“jQuery Autocomplete DWR结合 修改Data”指的是在Web开发中使用jQuery UI的Autocomplete组件与Direct Web Remoting (DWR)技术相结合,并对数据进行定制化处理的方法。jQuery Autocomplete是一个流行的UI...

    Jquery AutoComplete 使用demo

    jQuery AutoComplete 是一个非常流行的 jQuery 插件,它为输入框提供了自动补全的功能,广泛应用于网页表单、搜索框等场景,以提高用户体验。这个插件允许开发者从本地数组或通过异步方式从服务器获取数据,实现动态...

    jquery.autocomplete干净demo

    综上所述,"jquery.autocomplete干净demo"提供了一个实用的起点,展示如何使用 jQuery 实现一个功能完善的自动完成功能。开发者可以根据自己的需求调整数据源、样式和事件处理,以满足特定项目的要求。这个干净的...

    jQuery-Autocomplete资源

    这个资源包包含了丰富的信息和实例,可以帮助开发者更深入地理解和应用jQuery Autocomplete插件。 **1. 插件介绍** jQuery Autocomplete是jQuery UI框架的一部分,它允许在输入框中实现自动填充功能,通常用于搜索...

    jquery实现autocomplete插件(文本框下拉选项).zip

    本文将深入探讨如何使用jQuery实现Autocomplete插件,特别是在文本框下拉选项的应用。 首先,我们需要了解Autocomplete插件的基本原理。该插件通常与输入框绑定,当用户在输入框中输入字符时,它会实时查询后台数据...

    jquery-autocomplete

    总之,jQuery Autocomplete是一个强大且易于使用的插件,无论你是新手还是经验丰富的开发者,都能快速上手并利用其构建出高效、友好的Web界面。记得在实际项目中结合自身的数据结构和业务需求,充分利用插件的灵活性...

    autocomplete插件附Demo(支持中文搜索)

    `jQuery UI Autocomplete`插件为网页开发提供了强大的自动补全功能,结合中文搜索和多列匹配,可以极大地提升用户体验。通过合理的数据处理和前端优化,我们可以创建高效、便捷的搜索界面。希望这份指南能帮助你更好...

    jquery Autocomplete(类似百度搜索框)

    **jQuery Autocomplete** 是一个非常流行的JavaScript库,用于在输入框中实现自动补全功能,类似于百度搜索框的体验...同时,了解如何与其他jQuery插件(如`jquery.ddcombobox`)结合使用,可以丰富你的前端开发技能。

    jquery autocomplete demo

    我们可以使用jQuery的`ajax`方法获取数据: ```javascript $( "#search" ).autocomplete({ source: function(request, response) { $.ajax({ url: "search.php", data: { term: request.term }, dataType: ...

    autocomplete-demo.zip

    jQuery库提供了一个强大的插件——jQuery UI Autocomplete,本文将详细讲解其原理、使用方法以及一个基于2017年版本的`jquery.autocomplete.js`的实际示例。 首先,jQuery Autocomplete是jQuery UI库的一部分,它...

    JQuery autocomplete

    - **示例**: `demo` 文件夹包含了一些示例代码,帮助开发者了解如何使用插件。 - **文档**: 可能还包括 `README.md` 或其他文档文件,解释了插件的使用方法和配置选项。 ### 5. 自定义和扩展 - **自定义提示框**: ...

    jQuery UI Autocomplete是jQuery UI的自动完成组件

    在实际项目中,jQuery UI Autocomplete可以与其他jQuery UI组件结合使用,如Dialog、Accordion等,构建出更复杂的用户界面。在lwme-jqueryui-demo这个压缩包中,可能包含了多个示例文件,它们展示了Autocomplete的...

    jquery.autocomplete.js 自动补全插件实例

    在`MVCDemo`这个压缩包中,很可能包含了使用`jQuery.autocomplete.js`的一个完整示例。通常,这样的示例会包含HTML、CSS和JavaScript文件,以及可能的服务器端代码(如果使用了AJAX数据源)。开发者可以参考这个示例...

    jquery.autocomplete 增加自定义查询方法

    `jQuery.autocomplete`是jQuery UI库中的一个组件,它为输入框提供了自动补全功能,极大...在提供的`demo`文件中,可能包含了一个简单的`jQuery.autocomplete`使用示例,你可以参考并根据实际项目需求进行修改和扩展。

    jQuery Autocomplete例子,自动补全功能

    **jQuery Autocomplete组件详解** jQuery Autocomplete是jQuery UI库中的一个强大组件,它为用户提供了在输入框中输入文本时的自动补全功能。这个功能极大地提升了用户体验,尤其是在需要用户输入特定关键字或从...

    jquery.autocomplete 自增版

    - **demo.html**: 示例页面,展示了如何在实际项目中集成并使用 `jQuery Autocomplete` 自增版。通过查看此文件,我们可以了解如何设置输入框、调用插件方法、配置参数等。 - **jquery.js**: 这是 jQuery 库的核心...

    jquery 自动完成 Autocomplete

    jQuery Autocomplete 是一个非常实用的插件,它为输入框提供了自动完成功能,通常用于搜索、建议或者输入数据的辅助填充。这个功能极大地提升了用户界面的交互性和用户体验。在本文中,我们将深入探讨 jQuery ...

    jQuery插件集之(可输入下拉框)N多例子+Demo

    总的来说,jQuery的“可输入下拉框”插件是一种高效且灵活的UI组件,它将传统的下拉选择和现代的搜索功能相结合,提升了用户界面的交互性和实用性。对于前端开发者来说,掌握这种插件的使用和实现方式,无疑能增强...

    jQuery 插件demo 自动补全

    总的来说,"jQuery 插件demo 自动补全"是一个结合了jQuery、事件处理、AJAX请求和数据库交互的示例项目,它展示了如何在前端实现一个自动补全功能,同时利用MyEclipse作为开发工具,为开发者提供了一个实践和学习的...

    autoComplete 文字自动补全demo1

    在这个名为"autoComplete 文字自动补全demo1"的项目中,我们可以看到一个使用jQuery插件实现的自动补全功能示例。 jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在...

Global site tag (gtag.js) - Google Analytics