StringBuilder sb = new StringBuilder();
        sb.Append("<table style=\"border:dotted 1px black\">");
        for (int i = 0; i < table.Rows.Count; i++)
        {
            sb.Append("<tr>");
            for (int j = 0; j < table.Columns.Count; j++)
            {
                sb.AppendFormat("<td onclick=\"Get()\" >{0}<input type=\"text\" style=\"display:none\" id=\"s\" /></td>", table.Rows[i][j]);
            }
            sb.Append("</tr>");
        }
        sb.Append("</table>");
        Response.Write(sb.ToString());function Get()
        {
           document.getElementById("s").style.display="block";
        }
        
点击某列单元格,让此单元格中的TXT文本框显示出来,我现在只能得到ID为s了,求实现代码

解决方案 »

  1.   


    sb.AppendFormat("<td onclick=\"this.getElementsByTagName('input')[0].style.display='block'\" >{0}<input type=\"text\" style=\"display:none\" id=\"s\" /></td>", table.Rows[i][j]);
      

  2.   

    把input 的id改成动态的var dynamicId=i.ToString()+j.ToString();
    sb.AppendFormat("<td onclick=\"Get('id_"+dynamicId+"')\" >{0}<input type=\"text\" style=\"display:none\" id=\"id_"+dynamicId+"\" /></td>", table.Rows[i][j]);
      

  3.   


    谢谢sky兄,谢谢各位。。我想鼠标离开TXT后,过一秒钟TXT才隐藏,有好的实现代码么?
      

  4.   


    分给错人了,sky兄。俺对不住你啊
    sun兄的方法我这通不过
      

  5.   


    捡便宜了,sky兄的方法更简单,我的是最原始的做法,同时你需要修改get方法function Get(obj)
            {
               document.getElementById(obj).style.display="block";
            }
    至于一秒钟在显示,可以使用setTimeout