jsp和java代码
  for(int i=0;i<list.size();i++){<td>
<div id="city2" style="display:;" onmousedown="onMouseDown()">
<%=o.getOperationproduce().substring(0,25) %>...
</div>
<div id="city1"  style="display:none;" onmouseout="hidecity()">
<textarea cols="63" rows="3"><%=o.getOperationproduce() %></textarea>
</div>
</td>
}
js代码
function onMouseDown(){
    document.getElementById("city2").style.display = 'none';
document.getElementById("city1").style.display = '';
}
function hidecity(){
    document.getElementById("city2").style.display = '';
    document.getElementById("city1").style.display = 'none';
}问题是:第次那表格时,只出现第一行的textarea 数据,点第二行也出行第一行的textarea 数据,点后面的行,都出现第一列的数据??请大家看一下,在线等

解决方案 »

  1.   

    为什么点那表格时,只出现第一个,我要的效果是点那个表格,出现那个textarea数据?怎么会都出现第一个textarea
      

  2.   

    你这个list的size如果大于1的时候就会出现多个city1和city2的div,即有几行就会出现几对一样的div,所以你无论点哪一行,都会出现第一行
      

  3.   

    具体改的思路是
    把每个div的id拼成id="city1<%=i%>"和id="city2<%=i%>"
    然后对那个js传一个i值进去,在里面同样也是拼成id的串
    首先一个循环,将其他的都隐藏,然后显示本行传进来的id
      

  4.   

    你的ID值都是写死的,肯定获取的都是第一个,按照楼主方法改一下,写个JS把i传进来作为div的ID