我们需要从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:
}
}
});
可以这样做吗?
非常感谢