0

我正在使用 Jquery Ui 选项卡框架。我想根据浏览器中的 URL 模式更改选定的选项卡,例如 www.xyz.com/#tab1 或 www.xyz.com/#tab2。

我找到了一种解决方法

$("#tabs").bind('tabsselect', function(event, ui) {
                window.location.href=ui.tab;

但是,它使选项卡锚被选中,但实际上并没有更改选项卡,我必须按 Enter 键才能实际更改选项卡。有人可以指出我错的地方并可以提示更改,以便选项卡根据 URL 模式更改。

我正在使用以下代码来实现这一点

 $(document).ready(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. "  ); 
                          }); 
                               }    
                               });

            $("#tabs").bind('tabsselect', function(event, ui) {
            window.location.href=ui.tab;

        });

 });

HTML 代码

<div id="tabs">
<ul>
    <li><strong class="first">
    <a href="#tabs1" id="tab1">Tab-1</a>
    </strong></li>
<li>
<strong>
<a href="xyz.do" id="tab2">Tab-2</a>
</strong>
</li>

</ul>

<div id="tabs1">
tab -1 content
</div>
4

1 回答 1

0

我认为您可能想通过激活处理程序进行绑定。 http://api.jqueryui.com/tabs/#event-activate

$( ".selector" ).on( "tabsactivate", function( event, ui ) { changeColor(ui); } );

ui.tab 将包含有关单击的选项卡的详细信息。

在你的情况下,我想你会想说

    var changeColor(ui) = function(
    if (ui.index == 1) { 
       $("#selector").addClass("tab2Active"); 
    });
于 2013-03-22T10:26:48.743 回答