如何在Ajax刷新的页面上维护复选框状态?

时间:2009-04-06 14:05:12

标签: ajax dojo checkbox struts2

我的应用程序中有一个html表,显示系统中运行的各种作业的状态。每个作业都有一个与之相关的状态,例如用于运行作业的swirly gif。新作业旁边有一个复选框,允许用户选择并启动相关作业。

该表是一个struts2自动刷新div(sx:div),它每隔几秒刷新一次,以反映当前正在发生的作业。

问题是,当div刷新时,我会丢失复选框的状态。

有一种优雅的方式来维持他们的状态吗?我可以选择在使用标签中内置的dojo主题系统完成ajax刷新后调用一些javascript,但我不确定最佳方法是什么。

1 个答案:

答案 0 :(得分:1)

我对struts不太熟悉,所以请告诉我它的价值。

我认为有两种方法可以解决这个问题。

第一个(也可能是最简单的)是向复选框添加一个事件,该复选框将已检查状态存储在数组或对象onchange中。然后,在从ajax刷新回调时,恢复这些状态。

第二种方法要求将ajax刷新作为帖子执行,以便将复选框提交给服务器,或者具有单独的ajax操作,该操作在选中复选框时触发。使用这些选项之一,ajax刷新可以“知道”渲染哪些复选框呈现为已选中。

如果你决定选择第一,javascript并不是很难,特别是如果你碰巧使用一个好的库(jquery等)。