0

通过 textfield (id="preset_searchfield") 我可以通过 jquery 搜索我的表。只有包含搜索文本的行是可见的:

    $("#tab_body tr").hide();
    $("#tab_body tr td:contains('" + $("#preset_searchfield").val() + "')").each(function(){
        $(this).parent().show();
    });

这是有效的。现在我想搜索除以空格的多个单词。因此,我像这样拆分搜索字符串:

    var searchString = $("#preset_searchfield").val();
    var searchArray = searchString.split(' ');

为了使包含数组中单词的所有行可见,我必须做什么?

4

2 回答 2

0

你也可以这样做

var searchString = $("#preset_searchfield").val();
var searchArray = searchString.split(' ');

for (x in searchArray) {
    $('#tab_body tr:contains(' + searchArray[x] + ')').hide();
}

jsfiddle http://jsfiddle.net/jqwm8/

于 2013-11-02T17:32:41.900 回答
0

一种方法是使用jQuery.filter()方法

/* more efficient to loop over each row, and look at TD's within row*/
$('#tab_body tr').filter(function(){
   var isMatch=false, $cells=$(this).children();
   $.each(searchArray, function(i, searchStr){
      /* check if any of cells contain this search string*/
      if( $cells.filter(':contains('+searchStr+')').length){
           isMatch=true;
           /* stop looking at other values in array, found a match*/
          return false;
      }
   })
  return isMatch;
}).show();
于 2013-11-02T17:24:48.897 回答