我现在想实现一个搜索功能,罗列出所搜索的相当多的数据,之后对应的关键字进行高亮显示,现在卡在关键字高亮显示的问题上面。
当我搜索出很多数据如123456789时,如果给内容添加标签只可以高亮本内容,不可以只高亮例如1234"567"89一类

解决方案 »

  1.   


    protected string get_name(object ob)
        {
            string str = ob.ToString();
            if (str.Length >= 24)
                str = str.Substring(0,22) + "...";        if (Request["search"] != null &&
                Request["s0"] != null)
            {
                // 需要做变色处理
                str = str.Replace(Request["s0"], "<font color=red>" + Request["s0"] + "</font>");
            }        return str;
        }
    asp c#代码 自己写的,从数据库搜索内容后再显示绑定时处理的...
      

  2.   

    <SCRIPT LANGUAGE="JavaScript">
    function SelectStr(){
    for (var i = 0; i < TableXKJG.rows.length; i++){
    for(var j = 0; j < 5; j++){
    TableXKJG.rows[i].cells[j].style.backgroundColor = "";  
    }
    }
    for (var i = 0; i < TableXKJG.rows.length; i++){
    for(var j = 0; j < 5; j++){
    if (string.value == TableXKJG.rows[i].cells[j].innerText){
    TableXKJG.rows[i].cells[j].style.backgroundColor = "#7a7a7c";
    }    
    }
    }
    }
    </SCRIPT>  
    <input name="string" type="text" size=20>  
    <input type="button" value="搜索" onClick="SelectStr();">
    <TABLE id="TableXKJG">
    <TR>
    <TD>11</TD>
    <TD>22</TD>
    <TD>33</TD>
    <TD>44</TD>
    <TD>55</TD>
    </TR>
    <TR>
    <TD>66</TD>
    <TD>77</TD>
    <TD>88</TD>
    <TD>99</TD>
    <TD>100</TD>
    </TR>
    <TR>
    <TD>111</TD>
    <TD>222</TD>
    <TD>333</TD>
    <TD>444</TD>
    <TD>555</TD>
    </TR>
    <TR>
    <TD>666</TD>
    <TD>777</TD>
    <TD>888</TD>
    <TD>999</TD>
    <TD>1000</TD>
    </TR>
    </TABLE>
      

  3.   

    1234"567"89 
    =>
    1234\"567\"89 
    需要进行字符串转义,然后使用文本高亮就可以了
    <font color=red>PPPP<font>
      

  4.   

    2楼大神代码经过测试 IE有效,Firefox失效
      

  5.   

    二楼的问题应该是FF不认<font>?试着将它改为<span>protected string get_name(object ob)
        {
            string str = ob.ToString();
            if (str.Length >= 24)
                str = str.Substring(0,22) + "...";        if (Request["search"] != null &&
                Request["s0"] != null)
            {
                // 需要做变色处理
                str = str.Replace(Request["s0"], "<span style='color:red'>" + Request["s0"] + "</span>");
            }        return str;
        }