【发布时间】:2012-03-04 21:35:23
【问题描述】:
我正在使用 JSF2,并且我有一个表,其中包含列表中每个项目的一行。该项目的详细信息非常复杂,并显示在每一行的内表中。
我希望用户能够单击内部表格中的任何位置,并让浏览器显示新页面,例如。 details.jsf?id=123
我已经为页面底部列表中的每个项目创建了一个表单,该表单不可见,并且我使用 JQuery 为所有表行添加了点击侦听器。处理程序向上递归 DOM 树,直到它在外部表中找到表行,其中包含一个 id,该 id 是该行中项目的唯一名称。然后我调用一个函数,它使用 JQuery 来定位相关的表单,并提交它。
例如:
table
tr id='1'
first inner table...
/tr
tr id='2'
second inner table...
/tr
/table
form id='item1' action='details.jsf?id=1'
form id='item2' action='details.jsf?id=2'
因此,单击第二个内表会导致调用一个处理程序,该处理程序会向上递归 DOM,直到找到 id 2,然后它会查找 id 为“item2”的表单,并提交它。
这一切都相当复杂。有没有更简单的方法?
【问题讨论】: