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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
input-autocomplete 是一个 Vue.js 组件,用于提供自动完成功能。以下是一个简单的使用示例: 1. 安装 input-autocomplete ``` npm install input-autocomplete --save ``` 2. 在 Vue 组件中引入 input-autocomplete ```javascript import InputAutocomplete from 'input-autocomplete' ``` 3. 在 Vue 组件中使用 input-autocomplete ```html <template> <div> <input-autocomplete :data="options" v-model="selectedOption" @select="onSelectOption" /> </div> </template> <script> export default { data() { return { options: [ { label: 'Apple', value: 'apple' }, { label: 'Banana', value: 'banana' }, { label: 'Cherry', value: 'cherry' }, { label: 'Durian', value: 'durian' }, ], selectedOption: null, } }, methods: { onSelectOption(option) { console.log('Selected option:', option) }, }, components: { InputAutocomplete, }, } </script> ``` 以上代码中,`data` 属性指定了自动完成列表中的选项数组,`v-model` 指定了选中的选项,`@select` 事件用于在选中选项时触发回调函数。 可以通过 `props` 设置以下属性: - `data`: 选项数组,每个选项都应该包含 `label` 和 `value` 两个属性。 - `value`: 绑定值,即选中的选项。 - `placeholder`: 输入框的提示文本。 - `disabled`: 是否禁用输入框。 - `debounce`: 输入框输入的防抖时间,单位为毫秒。 - `matchKey`: 匹配选项时使用的键名,例如可以设置为 `'label'` 或 `'value'`。 - `maxHeight`: 自动完成列表的最大高度,超过该高度时会出现滚动条。 - `highlight`: 是否高亮匹配的文本。 - `selectOnTab`: 是否在按下 Tab 键时选中第一个选项。 - `selectOnEnter`: 是否在按下 Enter 键时选中第一个选项。 - `noMatchText`: 没有匹配项时的提示文本。 更多详细用法请查看 input-autocomplete 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值