bootstrap typeahead实现模糊查询功能

一:下载并引用

<script type="text/javascript" src="assets/js/bootstrap-typeahead.js"></script>

二:html部分:

<div class="">
        <input id="demo1" type="text" class="" placeholder="Search cities..." autocomplete="off" />
    </div>

三:js部分:


function displayResult(item, val, text) {
    console.log(item);
    $('.alert').show().html('You selected <strong>' + val + '</strong>: <strong>' + text + '</strong>');
}

//上面这个是获取被选中的值并赋给class为.alert的元素来显示

$('#demo1').typeahead({
        source: [
    { id: 1, name: '你好' },
    { id: 2, name: '你好2' },
    { id: 3, name: '中国' },
    { id: 4, name: 'Buffalo' },
    { id: 5, name: 'Boston' },
    { id: 6, name: 'Columbus' },
    { id: 7, name: 'Dallas' },
    { id: 8, name: 'Vancouver' },
    { id: 9, name: 'Seattle' },
    { id: 10, name: 'Los Angeles' }
    ], 

        items: 5,                          //规定查询时要显示的条目的最大值。数据类型是 number,默认值是 8

        display: 'Name',                //可以不写默认就是name
        val: 'ID',                             //可以不写默认就是name
        itemSelected: displayResult            //此处的意思是调用displayResult这个方法
    });

//上面的方法是前端直接写死option内容,还有一种就是通过ajax异步加载的方式

$('#demo1').typeahead({
        ajax: { url: '/cities/list', triggerLength: 1 }, 

        //省略ajax具体步骤
        itemSelected: displayResult
    });

上面的方式就是通过异步加载

备注:triggerLength用来规顶输入多少个字符就能开始模糊查询,默认为3可以自己定义

source: function (query, process) {
        var parameter = {query: query};
        $.post('@Url.Action("AjaxService")', parameter, function (data) {
            process(data);
        });
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值