2009-05-30 89 views
1

我在前端使用Struts2标签来设计我的页面。想在jsp页面上添加动态内容

现在我有我的jsp页面的要求,我已经把3个简单的字段&在一些添加链接,我想重复一些其他3或4字段动态地在相同的形式。

例如,如果用户在添加链接上单击5次,然后在jsp页面上显示3或4个字段必须显示5次。

我知道ajax可以用于此目的。但是我仍然对如何实现它感到困惑。

如果任何一个有解决方案PLZ回复...

thanx提前....

回答

1

你最好的办法是使用jquery简化的JavaScript。这个简单的html页面演示了这种方法:

<html> 
    <head> 
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"/> 
    </head> 
    <body> 
    <form method="post" action="#"> 
     <table> 
     <tbody> 
      <tr> 
      <td><input type="text" name="fieldname"/></td> 
      <td><a href="#" onclick="$(this).closest('tr:not(:only-child)').remove();return false;">delete</a></td> 
      </tr> 
      <tr> 
      <td><input type="text" name="fieldname"/></td> 
      <td><a href="#" onclick="$(this).closest('tr:not(:only-child)').remove();return false;">delete</a></td> 
      </tr> 
     </tbody> 
     <tfoot> 
      <tr> 
      <td></td> 
      <td><a href="#" onclick="var tr = $(this).closest('table').find('tbody tr:first-child').clone(true); $(tr).find(':input').val(''); $(this).closest('table').find('tbody').append(tr); return false;">add</a> 
      </td> 
      </tr> 
     </tfoot>  
     </table> 
    </form> 
    </body> 
</html> 

这是该方法的快速简介。每个重复元素都是表格中行的一部分。您可以选择任何其他类型的容器相应地调整jquery。重复元素在每行的tbody中都有一个输入和一个删除该行的链接。请注意,只有当它不是tbody的唯一孩子时,它才会删除该行。我们需要这样做总是有办法从添加链接中添加一个新元素。添加逻辑在tfoot中。 add链接在相应的tbody中查找第一个表行,克隆它,清除任何输入字段中的所有值并将其作为新行附加到tbody。

像我在这个例子中那样嵌入那么多的javascript/jquery到一个属性中是不好的做法。