jquery input 搜索自动补全、typeahead.js

最近做个一个功能需要用到自动补全,然后在网上找了很久,踩了各种的坑

最后用typeahead.js这个插件,经过自己的测试完美实现

使用方法:在页面中引入jquery、jquery.typeahead.min.js和jquery.typeahead.min.css文件。

<link href="../js/jquery.typeahead.min.css" rel="stylesheet" />
<script src="../js/jquery-1.10.1.min.js"></script>
<script src="../js/jquery.typeahead.min.js"></script>

html部分代码:

<table border="" cellpadding="" cellspacing="" >
            <tr>
                <th>
                    所属企业:
                </th>
                <td>
                    <div class="typeahead__container">
                        <div class="typeahead__field">
                            
                                <input class="js-typeahead"
                                    name="q"
                                    type="search"
                                    autofocus
                                    autocomplete="off" placeholder="输入企业名称查找企业" />
                            

                        </div>
                    </div>

                    <label id="yixuanze" runat="server"></label>
            
                </td>
            </tr><br /></table>

jquery方法:

$.typeahead({
            input: '.js-typeahead',
            minLength: 0,
            order: "asc",
            items: 10,
            dynamic: true,
            delay: 500,
            backdrop: {
                "background-color": "#fff"
            },
            template: function (query, item) {
                return '' +
                        '{{company_name}} ' +
                        '({{person_name}})<br/>' +
                        '{{company_address}} '
            },
            emptyTemplate: "没有找到与 ‘{{query}}’ 相关的数据",
            source: {
                user: {
                    display: "company_name",
                    data: function () {
                        var deferred = $.Deferred(),
                            query = this.query;
                        $.getJSON(
                           "../Interface/****.ashx",  //后台获取数据接口地址,这里我用的是ashx文件
                            {
                                dataType: "getcompany",
                                q: query
                            },
                            function (data) {
                                deferred.resolve(data)
                            }
                        )
                        return deferred;
                    }
                }
            },
            callback: {
                onClick: function (node, a, item, event) {
                    $("#yixuanze").html("已选择:" + item.company_name);
                   
                },
                onSendRequest: function (node, query) {
                    console.log('request is sent')
                },
                onReceiveRequest: function (node, query) {
                    console.log('request is received')
                }
            },
            debug: true
        });

运行效果:

jquery input 搜索自动补全、typeahead.jsjquery input 搜索自动补全、typeahead.js

下载:最新盘本请前往官网下载,网盘版本为2.10.4

官方下载地址:http://www.runningcoder.org/jquerytypeahead/demo/

百度网盘下载地址:https://pan.baidu.com/s/1-sFkU2d29qDesB2RIRgk2Q

插件截图

jquery input 搜索自动补全、typeahead.js

相关推荐