从1.4.2升级到1.8.2时,使用jquery load的对话框内的选项卡不起作用

时间:2015-07-21 18:01:11

标签: jquery jquery-dialog

        $("#popup").load("/xyz", {args: args}, function () {

          $("#popup").dialog({
            title: "Amend",
            height: toolkit.getFullHeight(),
            width: toolkit.getFullWidth(),
            bgiframe: true,
            modal: true,
            closeOnEscape: false,
            close: function (event, ui) {
                $('#popup').dialog("destroy");
            }
          });

          $("#tabs").tabs({
            disabled: [1, 2]
          });

        });

xyz文件如下:

<div id="tabs">

  <ul>
    <li><a href="#div_a">A</li>
    <li><a href="#div_b">B</li>
    <li><a href="#div_c">C</li>
  </ul>

  <div id="div_a"></div>
  <div id="div_b"></div>
  <div id="div_c"></div>

</div>

由于我假设的对话框的异步行为(因为使用setTimeOut标签工作),这不会初始化选项卡。为什么它使用Jquery 1.4.2而不是1.8.2?

1 个答案:

答案 0 :(得分:0)

很难说它为什么没有仔细观察就能发挥作用,但它似乎是偶然的。

无论如何,您可以使用dialog's open event配置标签

$("#popup").dialog({
    //[other configs]
    open: function(){
        $("#tabs").tabs({
            disabled: [1, 2]
        });
    }
});

或者

$("#popup").on("dialogopen", function(){
    $("#tabs").tabs({
        disabled: [1, 2]
    });
});