如何在表jquery中搜索确切的单词

时间:2013-11-27 07:25:30

标签: javascript jquery

我在这个搜索表中有多个单词并显示多个结果。但是我搜索“男性”和“女性”这样的确切词有问题,当我搜索“男性”时,女性也会显示,因为女性有“男性”字样。我怎样才能找到确切的字?

if (!RegExp.escape) {
RegExp.escape = function (s) {
    return s.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
};
}
jQuery(function ($) {
///search this table
$(' #search ').click(function () {
    var searchthis = new RegExp($(' #emp_search ').val().replace(/ /g,"|"), 'i');
    alert(searchthis);
    $("table").find("tr").slice(1).each(function (index) {
      //  var text = $(this).find("td").text().toLowerCase().trim();
        var text = $.trim($(this).text());
        $(this).toggle(searchthis.test(text));
    });
    });
});

http://jsfiddle.net/wind_chime18/ANLgD/11/

2 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/ANLgD/17/

 $(function () {
  $(' #search ').click(function () {

    var str = $('#emp_search').val();
    var strary = str.split(' ');

    $("table").find("tr").slice(1).each(function (index) {
        var text = $.trim($(this).text());

        for (var i = 0; i < strary.length; i++) {
            var regex = new RegExp(".*\\b" + strary[i] + "\\b\.*", "gi");
            $(this).toggle(regex.test(text));
            if (regex.test(text)) break;
        }
    });
  });
});

答案 1 :(得分:1)

刚刚添加了一个空格:

var searchthis = new RegExp(' '+$(' #emp_search ').val().replace(/ /g,"|"), 'i');

并更新了你的小提琴:http://jsfiddle.net/ANLgD/12/