JQuery UI 选项卡使用 ajax 加载文档片段

发布于 2024-12-04 16:39:35 字数 470 浏览 0 评论 0原文

我正在使用 JQuery UI 选项卡,并希望从生成的页面加载片段。但是,整个页面都已加载。这是代码:

<head>
<script src="/js/jquery-ui-1.8.15.custom.min.js"></script>
<script>
    $(function() {
        $( "#tabs" ).tabs();
    });
</script>
</head>


<div id="tabs">
<ul > 
    <li><a href="/page #content">Tab Head</a></li>
</ul>
</div>

有一个简单的方法可以做到这一点吗?另外,选项卡插件是否使用 .load() 或 .get() ajax 调用?

I am using JQuery UI tabs and would like to load a fragment from a generated page. However, the whole page is loaded. Here is the code:

<head>
<script src="/js/jquery-ui-1.8.15.custom.min.js"></script>
<script>
    $(function() {
        $( "#tabs" ).tabs();
    });
</script>
</head>


<div id="tabs">
<ul > 
    <li><a href="/page #content">Tab Head</a></li>
</ul>
</div>

Is there an easy way of doing this? Also, is the Tabs plugin using .load() or .get() ajax calls?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

世俗缘 2024-12-11 16:39:36

您可能需要自己通过拦截所需的选项卡并加载内容来完成此操作。例如,您可以包含用于将片段加载到数据属性的实际 URL,例如 data-content-url="/page #content",并将其加载到 select 事件中。因此,它看起来像:

$('#tabs').tabs({
    select: function(event, ui) {
        var $tabAnchor = $(ui.tab);
        if (ui.index == 0 && !$tabAnchor.data('completed')) {
            $($tabAnchor.attr('href')).load($tabAnchor.data('content-url'), function() {
                // indicate the content has been loaded
                $tabAnchor.data('completed', true);
            });
        }
    }
});

HTML 看起来像:

<div id="tabs">
    <ul>
        <li><a href="#tabs1" data-content-url="/page #content">Tab Head</a></li>
        <li><a href="#tabs2">Tab 2</a></li>
    </ul>

    <div id="tabs1"></div>
    <div id="tabs2">...</div>
</div>

You may need to do it yourself by intercepting the desired tab and load the content in. For example, you could include the actual URL for loading the fragment to a data attribute, say, data-content-url="/page #content", and load it in the select event. So, it would look something like:

$('#tabs').tabs({
    select: function(event, ui) {
        var $tabAnchor = $(ui.tab);
        if (ui.index == 0 && !$tabAnchor.data('completed')) {
            $($tabAnchor.attr('href')).load($tabAnchor.data('content-url'), function() {
                // indicate the content has been loaded
                $tabAnchor.data('completed', true);
            });
        }
    }
});

The HTML would look something like:

<div id="tabs">
    <ul>
        <li><a href="#tabs1" data-content-url="/page #content">Tab Head</a></li>
        <li><a href="#tabs2">Tab 2</a></li>
    </ul>

    <div id="tabs1"></div>
    <div id="tabs2">...</div>
</div>
红焚 2024-12-11 16:39:36

您可以使用选项卡的加载事件(“加载远程选项卡的内容后触发此事件。”)来解析/准备/编辑加载的内容并获取页面的片段。

You could use the load-event ("This event is triggered after the content of a remote tab has been loaded.") of the tabs to parse/prepare/edit the loaded content and get the fragment of the page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文