Autocomplete的常见用法 Jquery-ui

简介:Autocomplete的功能是根据用户输入值进行搜索和过滤,效果可参考图1和图2。在实现此功能前需要jquery-ui.js和jquery-ui.css文件,点这里可下载。

1.1 用法一,效果图:

图(1)

 

1.2 代码如下:

<script src="..js/jquery-ui.js"></script>
<style src="..css/jquery-ui.css"></style>

<input type="text" id="menu_id" >

<script type="text/javascript">
    let source = [
        "yusheng",
        "jinrong",
        "mengxiaodong",
        "luchunlan"
    ]
    
    $("#menu_id").autocomplete({
        source:source
    })
</script>

2.1 用法二,效果图:

图(2)
图(2)

2.2 代码如下:

<script src="..js/jquery-ui.js"></script>
<style src="..css/jquery-ui.css"></style>

<input type="text" id="menu_id" >

<script type="text/javascript">
    let r = [
        {
            "name": "yuesheng",
            "age": "28",
            "sex": "man"
        },
        {
            "name": "luchunlan",
            "age": "26",
            "sex": "female"
        },
        {
            "name": "jinrong",
            "age": "33",
            "sex": "man"
        },
        {
            "name": "xiaolin",
            "age": "30",
            "sex": "man"
        }
    ];
    $("#menu_id").autocomplete({
        source:function (request,response) {
            var result = [];
            var limit = 5;
            var term = request.term.toLowerCase();    // 获取输入的字符串
            $.each(r,function () {
                var item = this;
                if(term == '' || item.name.toLowerCase().indexOf(term) >= 0){ // 查询r中是否存在输入的字符串
                    result.push(item);
                    limit--;
                    if(limit == 0){
                        return false;
                    }
                }
            })
            response(result);
        },
        focus: function (event, ui) {    // 下拉框聚焦事件
            $('#menu_id').val(ui.item.name);
            return false;
        },
        select: function (event, ui) {    // 下拉框选中事件
            $('#menu_id').val(ui.item.name);
            return false;
        },
        search: function () {    //输入框变动事件
        }
    }).autocomplete("instance")._renderItem = function (ul, item) {
        // 填充下拉框数据
        return $("<li style='line-height: 20px;'>")
            .append($('<a>').append($('<b>').text(item.name)).append('<br>')
                .append($('<i>').text(item.age + ' | ' + item.sex)))
            .appendTo(ul);    
    }
</script>

完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_earnest

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值