<logic:iterate name="courses" id="course">
   <html:form action="/queryScore.do?coursename=${course}" method="post">
    <td>
      <html:submit value="${course}" onclick="change(styleId)" styleId="${course}"></html:submit>
    </td>
   </html:form> <script language = "javascript">
  function change(var styleId) {
    var txt = document.getElementById(styleId).value;
    document.getElementById(styleId).value=txt.substring(0,txt.length-1)+"↓";
  }
</script></logic:iterate> 一开始是从session中读一个ArrayList,遍历里面的课程名,这里的submit实际上是一个表格的列头
我的想法是点击submit按钮,用js在其value后加上个"↓" ,可是这要如何操作呢。
另一个问题是,因为每次点击submit按钮后都会去做排序,然后再返回本页面,相当于重刷新了一遍。这样的话加上"↓"也看不出来,这个问题应该怎么解决啊。谢谢大家。
其实我的想法就是做成windows中察看“详细信息”那样子的界面。开始觉得不难,但是一细化感觉真不简单……

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【duodo】截止到2008-07-22 23:50:53的历史汇总数据(不包括此帖):
    发帖的总数量:6                        发帖的总分数:290                      每贴平均分数:48                       
    回帖的总数量:6                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:5                        结贴的总分数:230                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:60                       
    结贴的百分比:83.33 %               结分的百分比:79.31 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油
      

  2.   

    这不属于struts问题,楼主去看看CSS样式吧,我看见过表格头实现成有排序箭头的,就是CSS做的,而且他连表格排序都是js实现,很牛
      

  3.   

    看着有点别扭,你就一个列标题吗,为什么要用iterator,多个列标题的话这么迭代能出来吗你可以在action中设置个属性flag,值分别设置为asc或者desc,根据界面传入,然后再用s:if判断
      

  4.   

    如果仅在页面排序可以用相应的js组件,如:dhtmlxGrid, ext js等,如果要照你目前的思路做,你可以将加"↓"的动作放到服务器端进行,在返回页面前加到排序的表头上即可.