Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 如何在struts2 jquery 3.3.3中重新加载sj:tab?_Jquery Ui_Struts2 Jquery - Fatal编程技术网

Jquery ui 如何在struts2 jquery 3.3.3中重新加载sj:tab?

Jquery ui 如何在struts2 jquery 3.3.3中重新加载sj:tab?,jquery-ui,struts2-jquery,Jquery Ui,Struts2 Jquery,我需要在struts2 jquery 3.3.3中重新标记一个sj:tab,到目前为止,我尝试了: 添加一个listenTopic到sj:tab,在我读到它还不起作用时,它不起作用 在该版本中实现 在任何情况下,重新加载选项卡,如下所示: $(“#我的面板”).tabs(“加载”、“我的选项卡”) 它可以工作并重新加载,但还有一些事件处理程序绑定,当我通过sj:submit提交时,它会提交两次,我尝试在重新加载之前用jquery删除所有事件处理程序,但我没有做任何改变。因此,事件处理程序按指

我需要在struts2 jquery 3.3.3中重新标记一个sj:tab,到目前为止,我尝试了:

  • 添加一个listenTopic到sj:tab,在我读到它还不起作用时,它不起作用 在该版本中实现
  • 在任何情况下,重新加载选项卡,如下所示:
$(“#我的面板”).tabs(“加载”、“我的选项卡”)

它可以工作并重新加载,但还有一些事件处理程序绑定,当我通过sj:submit提交时,它会提交两次,我尝试在重新加载之前用jquery删除所有事件处理程序,但我没有做任何改变。因此,事件处理程序按指数增长:

> $('#myPanel').tabs("load", "#myTab");  
1 event handler per button 
> $('#myPanel').tabs("load", "#myTab");
2 
> $('#myPanel').tabs("load", "#myTab"); 
4 .. 16 .. 32

如何杀死sj:submit中的所有事件处理程序?

这可能是我的一个坏消息,因为我需要更改应用程序中新“状态”的选项卡,所以我认为这是一个好主意:

( ajax call fired by a sj:submit --> POST )
# in the server check if the state changed, if so returns success and the client asks to reload.

$.subscribe("change_state"){
  ...
  $('#myPanel').tabs("load", "#myTab");
  # (http GET new tab)
};
选项卡加载平稳,但为了防止触发旧事件,我必须为每个按钮设置变量

$.subscribe("change_state", function(event){
  if (!reloaded){
     $('#myPanel').tabs("load", "#myTab");
     reloaded = 1;
  }
)};
$.document.ready(function(){
    reloaded = null;
});

如果有人对这个版本的struts有正确的设计,我很乐意提供100赏金

您好,我认为您的问题应该重新编辑,以便回答。请提供更多细节,谢谢!简言之,人们如何在sj:tabbedpanel中重新加载选项卡?您每次重新加载的内容都注入了ajax吗?不,我有多个sj:submit,成功后我用$(“#myPanel”)重新加载选项卡。选项卡(“加载”,“#myTab”);,但这会在当前选项卡中加载新事件,而不会丢弃旧事件