想做的是通过<a>标签删除一条记录,然后再刷新该DIV,应该是比较简单的局部刷新问题。但念在我是jquery超级新手,还请大侠们赐教啊。
JS:
function dodel(id){
     $.get("${ctx}/exp/dele?id="+id,function(response){
       alert('删除成功!');
       $("#divID").empty();
    });
   return true;
}JSP:
<div id="divID">
  <ul>
       <s:iterator value="#request.XXXlist">
      
   <li>${XXXXXX}<a href="#" onclick="dodel('${ID}');">删除</a></li>

 </s:iterator>
 </ul>
 </div>
后台函数查询数据库后得到list,在通过setRequest的方法传值到前台。
我想做的是先把原来DIV清空,再把新的list显示,但具体怎么写JS代码的时候犯难了。

解决方案 »

  1.   

    按上面的代码是可以在删除后把IDV清空了,问题是如何再将后台的list再放入这个DIV中呢?
      

  2.   

    思路一个,,给每个<li>一个ID啊,等你的ajax成功之后,把这个对应ID的<li>给remove掉就行了么、
    要是按照你的思路,你可以再跳转一次,到本页面,然后还是去访问一次你的这个取list的servlet(action),得到list之后就可以显示出来了。要么就是这样,你清空这个div之后,再ajax一次后台,取出list,然后拼装成json,传回来之后,你可以用jquery给组织起来显示出来。
      

  3.   

    感觉这个思路蛮好的,但是具体实现起来要怎么做呢?如何给<li>设置ID啊?
    能否给个小例子?
      

  4.   

    代码倒是没有,因为我之前写的项目中,代码被他们拿走了,公司不允许带走。就是你在iterator的时候,iterator是不是可以设置一个index的值的,这个你去看看这个迭代的标签,将li的id可以这样,比如:li1,li2,li3……
    挑一个a的属性,一般可以用name,设成是和li的id一样,也就是li1,li2,li3……这样。
    然后点<a>的时候顺便去得到<a>的Name属性,然后就可以用
    $("a").click(function(){
         这边是ajax,成功之后
          var aName = $(this).attr("name");//此处得到的是<a>的name属性,也就是li的id,因为之前设置成相同的
          然后
          $("#"+aName).remove();此时,这个li就被remove掉了。
               
    });
      

  5.   

    恩,很感谢你啊,用你的思路解决了问题。超感谢,JQUERY看来我得多学习学习啊,呵呵