jQueryUI 选项卡:选择选项卡时清除其他选项卡的 div

jQueryUI tabs : clear div of other tabs when tab is selected

提问人:PhDJ 提问时间:11/14/2012 最后编辑:NelsonPhDJ 更新时间:11/14/2012 访问量:5504

问:

我有一个页面,其中包含多个显示类似内容的选项卡,为了确保我在正确的选项卡中访问正确的字段,我想在用户单击选项卡后立即清除其他选项卡的 div 内容。

这是我使用的代码:

<!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>WebShop</title>
     <link rel="stylesheet" type="text/css" href="/includes/igepa.css" />
     <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
     <link rel="stylesheet" href="/resources/demos/style.css" />


    <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
    <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>    

    <script>
    $(function() {
        $( "#tabs" ).tabs({
            beforeLoad: function( event, ui ) {
                ui.jqXHR.error(function() {
                    ui.panel.html(
                        "Couldn't load this tab. We'll try to fix this as soon as possible. " +
                        "If this wouldn't be a demo." );
                });
            },
            load: function(event, ui){
               $('.ui-tabs-hide').empty();  
            }                          
        });
    });
    </script>
</head>
<body>

<div id="tabs">
    <ul>
        <li><a href="/itemStructPaper/Enveloppen">Enveloppen</a></li>
        <li><a href="/itemStructPaper/GrafischKarton">Grafisch karton</a></li>
    </ul>
</div>


</body>
</html>

我在这里添加了一个示例:http://www.igepa.be/phdj/tabs/index.htm

Page1.htm 和 Page2.htm 都有一个表单,其中包含相同的字段但值不同,但是当您选择第二页的选项卡时,您将获得第一页字段的值。

jquery jquery-ui-tabs

评论


答:

6赞 Nelson 11/14/2012 #1

您可以使用参数并引用其同级来执行此操作,如下所示:ui

   beforeLoad: function(event, ui){
      $(ui.panel).siblings('.ui-tabs-panel').empty();
    }

更新:我刚刚更新了上面的代码,仅更改事件,以便在执行当前选项卡的页面之前删除同级选项卡内容。loadbeforeLoad

评论

0赞 PhDJ 11/14/2012
感谢您的快速回复 Nelson,但这也没有用,我所追求的是一种清除其他选项卡的 div 字段的 html 内容的方法,如果有人单击 tab2,div tabs-1 和 tabs-3 被清除如果我有三个选项卡在这个例子中。
0赞 Nelson 11/14/2012
我认为我的答案是正确的,但也许不是你要找的,但你必须澄清这一点。顺便说一句,您的测试页面 igepa.be/phdj/tabs/index.htm 会提醒相同的文本,因为您拥有来自两者的文本输入,并且具有相同的 ID,并且 ID 必须是唯一的,以便您确切地知道您正在使用的元素。page1.htmpage2.htmid="field1"
0赞 PhDJ 11/14/2012
这正是我的观点 Nelson,我想使用选项卡来显示相同的页面(具有相同的字段),但具有不同的参数,因此我希望当用户选择 tab2 时,页面“忘记”有关 tab1 的所有内容
0赞 Nelson 11/14/2012
为此使用事件而不是 ,请参阅我更新的答案。beforeloadload
0赞 PhDJ 11/14/2012
这奏效了,谢谢尼尔森,不能投票,因为我没有名声。