jQuery-autoComplete实例

2024-05-10 22:18

本文主要是介绍jQuery-autoComplete实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1)简易的,

var availableTags = [

                         "ActionScript",
                         "AppleScript",
                         "Asp",
                         "BASIC",
                         "C",
                         "C++",
                         "Clojure",
                         "COBOL",
                         "ColdFusion",
                         "Erlang",
                         "Fortran",
                         "Groovy",
                         "Haskell",
                         "Java",
                         "JavaScript",
                         "Lisp",
                         "Perl",
                         "PHP",
                         "Python",
                         "Ruby",
                         "Scala",
                         "Scheme"

                       ];

$("#auto").on("change",function(){

$("#auto").autocomplete({

    source:availableTags,

});

});


2)多个项目自定义数据

 var projects = [
                                       {
                                         value: "jquery",
                                         label: "jQuery",
                                         desc: "the write less, do more, JavaScript library",
                                         icon: "jquery_32x32.png"
                                       },
                                       {
                                         value: "jquery-ui",
                                         label: "jQuery UI",
                                         desc: "the official user interface library for jQuery",
                                         icon: "jqueryui_32x32.png"
                                       },
                                       {
                                         value: "sizzlejs",
                                         label: "Sizzle JS",
                                         desc: "a pure-JavaScript CSS selector engine",
                                         icon: "sizzlejs_32x32.png"
                                       }
                                     ];

$("#auto").on("change",function(){
        //$("#auto").find("option").remove();
        $("#auto").autocomplete({
              minLength: 0,
              source:projects,
              focus: function( event, ui ) {
                $( "#auto" ).val( ui.item.label );
                return false;
              },
              select: function( event, ui ) {
                $( "#auto" ).val( ui.item.label );
                $( "#auto-id" ).val( ui.item.value );
                $( "#auto-description" ).html( ui.item.desc );
                $( "#auto-icon" ).attr( "src", "images/" + ui.item.icon );
        
                return false;
              }
            })
            .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
              return $( "<li>" )
                .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
                .appendTo( ul );
            };

});


3)从后台获取数据

    <package name="auto" extends="json-default"> //返回的是json数据
        <action name="getArea" class="com.lc.test.action.AutoAction" method="getArea">
            <result type="json">
                <param name="root">autoList</param> //返回值需要的autoList定义为根目录,其他返回值就不会返回,只有我需要的list里面的值
            </result>
        </action>
    </package>


        private String term;

        public String getArea(){
        System.out.println("term:"+term);  //term变量取自autoComplete控件自动添加的变量,从页面上传递到后台,是用户输入的要搜索的关键字。
        AutoBean ab=new AutoBean();
        ab.setValue("jquery");
        ab.setLabel("jquery");
        ab.setDesc("the write less, do more, JavaScript library");
        autoList.add(ab);
        return SUCCESS;
    }

$("#auto").on("change",function(){
        $("#auto").autocomplete({
              minLength: 0,
              source:"getArea?",  //资源路径
              focus: function( event, ui ) {  //当鼠标滑过某一个item时的动作
                $( "#auto" ).val( ui.item.label );
                return false;
              },
              select: function( event, ui ) {  //当鼠标单击某一个item时的动作
                $( "#auto" ).val( ui.item.label );
                $( "#auto-id" ).val( ui.item.value );
                //$( "#auto-description" ).html( ui.item.desc );
                return false;
              }
            })
            .data( "ui-autocomplete" )._renderItem = function( ul, item ) { //从后台取出信息后,这里负责显示。每一次创建一个<li>,并且添加到ul上面。这些都是和控件配合,有些名称需要一致。这里可以修改展示的样式。
              return $( "<li>" )
                .append( "<a>" + item.label + "</a>" )
                .appendTo( ul );
            };



以上三种方式,都需要引入autocomplete需要的js和css文件。

1)jquery-ui.min.css

2)jquery-1.7.2.min.js

3)jquery.autocomplete.js

4)jquery-ui.min.js

这篇关于jQuery-autoComplete实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977709

相关文章

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

前端 CSS 动态设置样式::class、:style 等技巧(推荐)

《前端CSS动态设置样式::class、:style等技巧(推荐)》:本文主要介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外,还可以结合计算属性来生成复杂的类名或样式对象,详细内容请阅读本文,希望能对你有所帮助...

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm