2015-07-13 60 views
4

我在我的网站上做了一个搜索按钮,但是我有一个问题,当我删除文本时,文本框是空的,没有显示任何东西,我想如果文本框是空的,那里将显示所有的项目。我怎样才能做到这一点?jquery全部搜索时为空

$(document).ready(function() { 
    $("#searchdata tr").show(); 

    $('#searchdata tr').each(function() { 
     $(this).attr('data-text', function() { 
      return $(this).text().toLowerCase(); 
     }); 
    }); 

    $('#searchbtn').bind('change keypress keyup change', function() { 
     $("#searchdata tr").hide(); 
     $('#searchdata tr[data-text*="' + $.trim($(this).val().toLowerCase()) + '"]').show();   
    }); 
}); 

而且我的网站:www.ledai.ae/locations

回答

2

你可以修改你的逻辑,以检查是否值设置,并采取相应的行动。试试这个:

$('#searchbtn').bind('change keypress keyup change', function() { 
    var searchString = $.trim($(this).val().toLowerCase()); 
    if (searchString != '') { 
     $("#searchdata tr").hide().filter('tr[data-text*="' + searchString + '"]').show();  
    } else { 
     $("#searchdata tr").show(); 
    }  
}); 
+0

谢谢,这工作! – Jakub

+0

没问题,很高兴帮助。 –

1

相反的$("#searchdata tr").hide();,您可以使用toggle()

$("#searchdata tr").toggle(!this.value); 

你可能想修剪它用于处理输入只得到空的空间:

$("#searchdata tr").toggle(!$.trim(this.value));