如何返回没有在jquery过滤器中找到的记录



我有一个搜索功能。如果与文本匹配,则返回li否则返回null。我需要一条消息no record found如果不匹配任何li数据

search_menu_list() {
return function (event) {
let searchText = $.trim($(this).val().toLowerCase());
if (searchText == '') {
$('.prio-app-menu-list li').show();
return;
}
$('.prio .prio-app-navigation-footer-module .prio-app-menu-list li').hide();
$('.prio .prio-app-navigation-footer-module .prio-app-menu-list li').filter(function () {
// alert($(this).find('div').data('name'));
return $(this).data('name').toLowerCase().indexOf(searchText) > -1;
}).show();
}
}

可以使用三元运算符检查值

的例子:

var dt =  $(this).data('name').toLowerCase().indexOf(searchText);
var msg =   dt > -1 ? dt :"No data found";
return msg;

检查长度

search_menu_list() {
return function(event) {
const $list = $('.prio .prio-app-navigation-footer-module .prio-app-menu-list li');
let searchText = this.value.trim().toLowerCase();
if (searchText == '') {
$list.show();
return;
}
$list.hide();
const $found = $list.filter(function() {
return $(this).data('name').toLowerCase().indexOf(searchText) > -1;
})
if ($found.length>0) $found.show();
else console.log('No results for',searchText)
}
}

最新更新