我有一个与过滤器一起使用的脚本,用于在表格中显示tr的当前视图。非常简单......当您输入过滤器时,表格会根据该查询进行更新并返回相应的金额:显示25个搜索结果:________(数字更改)。然后我在该声明的末尾包含一个div,它只反映了放入过滤器的文本:显示25个搜索结果:_______ 和过滤" blah" 。我希望能够在从过滤器中删除过滤器文本时隐藏该div ...过滤器已停用。截至目前,它将清除实际文本 blah ,但保留div的其余部分和Filter" " 即可。
为什么会这样?它应该由" keyup"激活/停用。过滤器,对吗?我已经尝试创建一个单独的函数并添加一个if else语句...没有骰子。我还尝试了jQuery的hide()和show()方法,就像$('tbody.searchable').hide();
一样没有运气。我希望它保持在同一个" keyup"功能。
$(document).ready(function(){
(function($) {
$('#filter').keyup(function() {
var rex = new RegExp($(this).val(), 'i');
$('tbody.searchable').hide();
$('tbody.searchable').filter(function() {
return rex.test($(this).text());
}).show();
var x = $('tbody.searchable:visible').length;
document.getElementById("filterUpdate").innerHTML = x;
//NEED TO HIDE THIS AFTER TEXT IN THE FILTER IS BACKSPACED (FILTER IS DEACTIVATED)
$('#filterText').html('and Filter = "' + $('#filter').val()+'"');
})
$('tbody').on("click", function() {
if($(this).data('href') !== undefined){
document.location = $(this).data('href');
}
});
}(jQuery));
});
答案 0 :(得分:0)
您只需要检查输入值是否为空:
$('#filterText').html($(this).val() ? 'and Filter = "' + $('#filter').val()+'"' : '');