我有created a jQuery filter,可从div列表中获取部门名称。当前,如果有人在该字段中输入大量空格,则不会显示任何部门。但是,如果仅输入空格,是否可以显示所有内容?
这是我的过滤器的外观:
$("#filter").keyup(function(){
var selectDept = $(this).val().toLowerCase();
filter(selectDept);
});
function filter(e) {
var regex = new RegExp('\\b\\w*' + e + '\\w*\\b');
$('.dept').hide().filter(function () {
return regex.test($(this).data('department'))
}).show();
}
答案 0 :(得分:1)
在值上使用trim()
删除两端的空白,如果没有长度(虚假),则不要调用filter(),而是显示所有.dept
类
$("#filter").keyup(function() {
var selectDept = $(this).val().trim().toLowerCase();
if (selectDept) {// empty string is falsy
filter(selectDept);
} else {
$('.dept').show()
}
});