gpt4 book ai didi

jquery-ui - 如何重新加载 sj :tab in struts2-jquery 3. 3.3?

转载 作者:行者123 更新时间:2023-12-03 08:22:17 28 4
gpt4 key购买 nike

我需要在 struts2-jquery 3.3.3 中重新加载一个 sj:tab,到目前为止我尝试过:

  • 向 sj:tab 添加一个listenTopic,因为我读到它还没有工作
    在那个版本中实现
  • 在任何情况下,重新加载选项卡,如:

  • $('#myPanel').tabs("load", "#myTab");



    它可以工作并重新加载,但是绑定(bind)了更多事件处理程序,当我通过 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 赏金

    关于jquery-ui - 如何重新加载 sj :tab in struts2-jquery 3. 3.3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42274722/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com