最近做项目需要做到一个项目,其中有一个可行方案:

由于分页的超链接是公司标签封装的,不能直接修改,通过查看编译后在客户端的网页,想到了利用JQUERY框架的

功能来替换某部分原来的url(实际上是在url里加入新的字段,从而在action处理的参数)

 

部分JavaScript代码如下:

<script language="javascript" src="<common:webRoot/>/system/js/jquery-1.2.1.js"></script>

<script language="javascript">
 <!--

function changeAllSelectedState(){
  var strAllSelected = null;
  if(projectForm.selectall.checked == true){
   var strAllSelected = "yes";
  }else{
   var strAllSelected = "no";
  }
  $(".table_button a").each(function(){
   var strOldHref = $(this).attr("href");
   var iInterceptionPos = strOldHref.indexOf("allSelected");
   var strOriginHref = null;
   if(iInterceptionPos > 0){
    strOriginHref = strOldHref.substr(0,iInterceptionPos - 1);
   }else{
    strOriginHref = strOldHref;
   }
   var strNewHref = strOriginHref +  "&allSelected=" + strAllSelected;
      $(this).attr("href",strNewHref);
  });
 }

 

 $(document).ready(function(){
  <% String strAllSelected = (String)request.getAttribute("allSelected");
   if("yes".equalsIgnoreCase(strAllSelected)){
  %>
   projectForm.selectall.checked = true;
   selectAll(projectForm);
   ckPageSelectHandler(projectForm.selectall,'idList');
  <%}%>

   $("selectall").click(function(){
   selectAll(this.form);
   ckPageSelectHandler(this,'idList');
   changeAllSelectedState();
  });

  changeAllSelectedState();
 });
 -->
</script>

其实就是实现一个分页全选框状态保存功能

这样实现最大的好处是原jsp页面代码完全不需改动,只需添加上述代码,让后在action里加上相应的处理即可

posted on 2008-11-04 14:18  君莫笑君  阅读(2442)  评论(0编辑  收藏  举报