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

如何在Ajax刷新的页面上维护复选框状态?,ajax,dojo,checkbox,struts2,Ajax,Dojo,Checkbox,Struts2,我的应用程序中有一个html表,显示系统中运行的各种作业的状态。每个作业都有一个与之关联的状态,例如用于运行作业的漩涡状gif。新作业旁边有一个复选框,允许用户选择并启动相关作业 该表是一个struts2自动刷新div(sx:div),它每隔几秒钟刷新一次,以反映作业当前发生的情况 问题是当div刷新时,我丢失了复选框的状态 有没有一种优雅的方式来维持他们的状态?我可以选择在完成ajax刷新后使用内置于标记中的dojo主题系统调用一些javascript,但我不确定最好的方法是什么。我对stru

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

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

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


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

我对struts不太熟悉,所以请接受我的建议

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

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

第二种方法要求ajax刷新要么作为post执行,以便将复选框提交给服务器,要么使用单独的ajax操作,在选中复选框时触发。使用这两个选项中的任何一个,ajax刷新都可以在渲染时“知道”要渲染哪些复选框


如果您决定使用第一种语言,javascript就不是很难,尤其是如果您碰巧使用了一个好的库(jquery等)

我尝试用javascript重置复选框,但遇到了struts2不执行返回的javascript片段的问题。最后,我提交了复选框状态,并在返回片段的jsp中重置它们。更简单、更健壮。谢谢你给乔尔的提示。