Javascript 如何再次显示以前被jQuery隐藏的所有列表项?
我有一个搜索框,用于过滤结果,如果结果与过滤器不匹配,则将其隐藏:Javascript 如何再次显示以前被jQuery隐藏的所有列表项?,javascript,jquery,Javascript,Jquery,我有一个搜索框,用于过滤结果,如果结果与过滤器不匹配,则将其隐藏: $('#box_street').keyup(function() { var valThis = $(this).val().toLowerCase(); if (valThis == "") { $('#street__list > .list__item').show();
$('#box_street').keyup(function() {
var valThis = $(this).val().toLowerCase();
if (valThis == "") {
$('#street__list > .list__item').show();
} else {
$('#street__list > .list__item').each(function() {
var text = ($(this).text() + $(this).data("alt")).toLowerCase();
if (text.indexOf(valThis) >= 0) {
$(this).show()
} else {
$(this).hide();
}
});
};
});
现在,我添加了一个函数,可以用$('.search\uu filter').val('')清除搜索框代码>问题是,一旦运行之前隐藏的项目,就不会再次显示。表单输入重置为ok,但项目仍然隐藏
如何再次显示所有元素?一旦搜索输入为空,您所要做的就是触发keyup
事件,因为您已经有了显示所有元素的条件
$('#reset_button').on('click', function() {
$('.search__filter').val('');
// reset form ... then
$('#box_street').trigger('keyup');
// or you could do it yourself directly with :
// $('#street__list > .list__item').show();
});
您是否尝试过在toLowerCase()的基础上使用trim()来解决空白问题?在进行if比较时,还可以尝试调试以查看存在哪些值。