使用Selectize.js时,有没有办法检测空搜索结果?
如果用户输入内容并且他们没有从下拉列表中获取内容,是否有办法检测空搜索?
答案 0 :(得分:4)
Selectize.js
有一个名为onType
的事件。当用户输入内容时,onType事件将触发。初始化Selectize.js
时,您只需要注册此事件。然后,您必须计算过滤器返回的总结果。
以下是实施:
$('select[name=country_id]').selectize({
// When user type something, onType event will fire.
onType : function(text) {
if ( ! this.currentResults.items.length) {
$('#country-not-found').removeClass('hide');
} else {
$('#country-not-found').addClass('hide');
}
}
});
有关信息,请访问以下链接:
https://github.com/brianreavis/selectize.js/blob/master/docs/usage.md#callbacks
答案 1 :(得分:1)
根据documentation,selectize.js发生onChange
事件。您应该可以挂钩并检查选择列表是否有任何选项。如果没有,您可以运行“其他”代码。
查看链接中的城市/州选择示例,了解有关如何使用onChange
事件的详细信息。这是演示的源代码。
$select_state = $('#select-cities-state').selectize({
onChange: function(value) {
if (!value.length) return;
select_city.disable();
select_city.clearOptions();
select_city.load(function(callback) {
xhr && xhr.abort();
xhr = $.ajax({
url: 'http://www.corsproxy.com/api.sba.gov/geodata/primary_city_links_for_state_of/' + value + '.json',
success: function(results) {
select_city.enable();
callback(results);
},
error: function() {
callback();
}
})
});
}
});