更改Typeahead.js的来源(以前的Twitter Typeahead)

时间:2017-08-28 03:41:24

标签: typeahead.js typeahead twitter-typeahead

我们需要从select事件更改Typeahead的来源。 例如,当用户输入查询并显示建议列表时,则在选择其中一个项目时,我们需要更改源的URL并根据用户的选择获得不同的数据集。

例如:如果我们有以下内容,请高兴地看一下案例陈述1& 2我们希望根据用户选择获得不同的数据。请注意:一旦我们更改了daya源并向用户显示了新选项,在从新列表中选择项目时,我们需要返回并将数据源设置回原始数据源。

使用条件是使用显示Countrues的数据源初始化typeahead。用户选择一个国家/地区 - 我们转到数据存储区并获取用户选择的国家/地区的城镇,并将源设置为返回的城镇,并向用户显示下拉菜单。

如果用户从下拉列表中选择一个城镇或在预先输入中开始重新输入 - 我们需要将预先输入源重置为国家/地区数据集。

$('#typeahead').typeahead({
            hint: true,
            highlight: true,
            minLength: 1

        },
            {
                name: 'addresses',
                display: 'Value',
                source: function (query, process, asyncProcess) {
                    var cont = $('#Country').val().toLowerCase();
                    $.get('/api/AddressLookup?cont=' + 'IE' + "&prefix=" + query, function (data) {
                            asyncProcess(data);
                        });
                },
                limit: 10,
                templates: {
                    empty: [
                        '<div style="padding:5px; color:#ac0000; font-weight:bold" class="empty-message">',
                        'No Matches Found',
                        '</div>'
                    ].join('\n'),

                }

            })
            .on('typeahead:select', function (ev, suggestion) {

                if (suggestion.Flag> 0) {

                    switch (suggestion.Flag) {
                        case 1:
                          **change url and parameters**
                        case 2:
                            **change url and parameters**
                        case 3:

                        case 4:

                        case 5:

                        case 6:

                    }

                }


            });

可以这样做吗?

非常感谢

0 个答案:

没有答案