jquery局部刷新DIV及动态时钟显示iterator无法输出数据的问题

发布时间:2020-08-23编辑:脚本学堂
本文介绍下,用jquery实现局部刷新div,以及动态时钟显示interator无法输出数据的解决方法,有需要的朋友,参考下吧。

1、从控制器中查询返回的list结果不能正确的输出数据,但确实返回了结果。
后来发现是查询控制器中复制的代码没有删除type="redirect" 重新定位了,所以没有结果输出。
 

复制代码 代码示例:
<!--  查询通告-->
<action name="queryNotice" class="queryNoticeAction">
<result name="success" type="redirect">/notice/notice.jsp</result>
</action>

下划线部分是不需要的。

2、jquery动态时钟显示问题,
 

复制代码 代码示例:
<script type="text/javascript">
     function updateDate()
     {
   $("#showDate").html((new Date()).toLocaleString());
  }
  setInterval("updateDate();",1000);
</script>
<div id="showDate"></div>

3、真正实现了jquery的利用价值最大化,局部刷新。
实现背景:从一个控制器action中查阅一篇文章,内含文章内容、发表评论、查看评论。
倘若一次全部实现的话,事必增加服务器端的负载量,于是从分页查询中来了灵感,考虑只实现部分。
比如发表评论、查看评论可以令其触发链接才实现,这个功能只在于当分页查阅评论时,由于评论页面是jquery导入的,触发分页的链接会重新刷新全部的页面,不能实现只刷新查阅评论的那个DIV。

1)、阅读文章页面:
 

复制代码 代码示例:
<div id="writeObserver">
   <a id="a1" href="#readObserver">发表评论</a>|<a id="a2" href="#readObserver">查看评论</a>
  </div>
  <br/>
<div id="readObserver">

2)、JS代码:
 

复制代码 代码示例:
$(function(){a();});
     function a(){
   $("#a1").bind("click",function(){comment();});
   $("#a2").bind("click",function(){readComment(0);});   //初始为从0条记录开始查询
  }
     function comment(){
   $.post("../observer/comment.jsp","", function(data){$("#readObserver").html(data);});
  }
  function readComment(start){
   $.post("../observer/queryObserverByArticleId.action?start="+start,"", function(data){$("#readObserver").html(data);});
  }

3)、评论页面的代码:
 

复制代码 代码示例:
<%
  Integer count=(Integer)session.getAttribute("count_observer_articleId");
   out.println("共 <b><font color='red'>"+count+"</font></b>  条");
   for(int i=0;i<=(count/5);i++){
    out.println("<a href='queryObserverByArticleId.action?start="+i*5+"' onclick='javascript:readComment(" + i * 5 + ");return false;'>"+(i+1)+"</a>");
   }
%>
 

关键点:
利用JS和A标记的功能,触发A标记,调用了JS中的readComment(start)方法。