【问题标题】:How to display a loading message until the tab content is fully AJAX loaded?如何在选项卡内容完全加载 AJAX 之前显示加载消息?
【发布时间】:2013-05-31 13:05:31
【问题描述】:

我正在使用 jQuery UI 1.10 和具有 AJAX 功能的 jQuery UI Tab 小部件。我使用的 JavaScript 代码如下所示(基本简单):

$('.selector').tabs({
  beforeLoad: function (event, ui) {
    ui.panel.html('Loading...');
  }
});

单击选项卡“标题”时,我想在选项卡“正文”中显示加载消息(文本消息),直到选项卡内容完全加载 AJAX,之后加载消息应替换为 AJAX 检索数据。我怎样才能做到这一点?

【问题讨论】:

标签: javascript jquery ajax jquery-ui jquery-ui-tabs


【解决方案1】:

它不工作吗?

$('.selector').tabs({
  beforeLoad: function (event, ui) {
    //show msg
  },
  load: function (event, ui) {
    //hide msg
  }
});

【讨论】:

    【解决方案2】:

    您可以这样做:

    1. 定义将通过 AJAX foreach 选项卡加载数据的函数。
    2. showcreate 的标签回调中,您调用一些函数来管理调用哪个AJAX 函数来加载正确的内容。
    3. 最后,在您的 AJAX 函数中,您首先更改您的 html 以显示加载消息,然后在请求完成后您可以将其删除。

    它很长,但它让您可以更好地控制自己想要做什么。

    【讨论】:

      【解决方案3】:

      我所做的最好的事情就是针对 ajax 驱动的标签...希望你会喜欢这个答案

      $("#facilityTabContainer").tabs({ panelTemplate:"Loading...", selected : 0, scrollable : true, cache : false });

      您甚至可以修改 jquery.ui.tabs 中的 panelTemplate,这样您应用程序中的所有选项卡都会自动获取“正在加载文本或图像”。猜猜它也解决了你的第一个标签加载问题..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-12
        • 2018-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-13
        • 1970-01-01
        • 2016-01-06
        相关资源
        最近更新 更多