搜索关键字描红

心不动则不痛 提交于 2020-02-14 22:52:36

使用JavaScript对处理关键字对后台数据库进行搜索时,对得到的搜索记录中的匹配关键字进行描红处理:

   1: $.getJSON("http://10.65.9.187:8090/MySQLdemo/servlet/SearchControl", {"keyword":keyword}, function(data) {
   2:                   //alert(data[1].bookname);
   3:                   $.each(data, function(index, item){
   4:                       str += "<tr><td>"+item.id+"</td><td>"+item.bookname+"</td><td>"+item.issuDate+"</td><td>"+item.price+"</td><td>"+item.synopsis+"</td><td>"+item.Maker+"</td><td>"+item.pulisher+"</td></tr>";
   5:                   });
   6:                   str = str.replace(new RegExp(keyword, "gi"), "<font color='red'>"+keyword+"</font>");
   7:                   $("#mytb").html(str);
   8:                   
   9:               });

在这里有一个问题需要注意:使用string.replace(regexp, replacement) 替换目标字符串时,若regexp不具有全局性质,则只会替换第一个匹配,因此要指定全局参数g。同时不要这样写:str.replace(/keyword/gi, “objstr”);

因为这样会匹配字符串”keyword”,而不是用keyword去匹配。所以要这样写:str.replace(new RegExp(keyword, “gi”), “objstr”);

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!