日期:2014-05-20  浏览次数:20370 次

|M| 如何让网页中更新页面可保持javascript的操作
如:网面中有一绑定后的datagrid生成代码如下
<table>
<tr>
  <td> 第一行 </td>
    <td>
            <input   type= "button "   value= "隐藏 "   onclick= "GoShowDetail(this,2); "   />
  </td>
</tr>
<tr>
  <td> 第二行
    </td>
</tr>
</table>
  function   GoShow(btn,i)
  {
        var   tr   =   btn.parentElement.parentElement.nextSibling;        
        tr.style.display   =   (i==1)? " ": "none ";
  }
点击 "button "隐藏后隐藏了第二行
但当执行了后台事件的时候 "第二行 "又显示出来了

我想问一下有没有什么方法让页面保持我那一次的javascript操作;也就是点击了其他后台事件“第二行”也就隐藏的

谢谢

------解决方案--------------------
比较麻烦,或者改用服务器端的隐藏(打开AJAX后可能效果差不多)
或者在GoShow里对另一个隐藏域赋值做标识,执行服务器端事件的同时接收这个隐藏域的值(Request.Form),然后根据这个值重新生成一个datagrid或者生成一个JS脚本在客户端加载完毕后改变标记行的状态
怎么做都麻烦,不好做啊,也可能是我没想出好办法……
------解决方案--------------------
用hidden保存状态. 然后在ItemDataBound事件中根据hidden的值,显示或隐藏相关行.
------解决方案--------------------
可用一个隐藏域或Cookie来保存点击的状态,可在页面onload事件里再检查状态值,再确定是否显示
------解决方案--------------------
有cookie有一点问题就是离开这个页面,再次进来的时候还会保留上次的选择状态.
------解决方案--------------------
alert(hf.value); alert(hf.tagName); 看看