【问题标题】:Microsoft JScript runtime error: no such method 'select' for tabs widget instanceMicrosoft JScript 运行时错误:选项卡小部件实例没有此类方法“选择”
【发布时间】:2013-04-16 09:34:12
【问题描述】:

在点击 html 按钮时,我需要为 jquery 选项卡选择 特定的选项卡功能。我正在使用jquery.1.9.1.jsjquery-ui-1.10.2.custom.js 文件。我已经实现了下面的代码,但对我不起作用。

<script language="javascript" type="text/javascript">
 $("#ui-tabs").tabs();
 function SelectTab() { // bind click event to link
                 $('#ui-tabs').tabs('select', 2); // switch to third tab
                 return false;
             }
 </script>
<div id="ui-tabs">
<ul>
    <li><a href="#tabs-1">Nunc tincidunt</a></li>
    <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">Tab1 content </div>
<div id="tabs-2">Tab2 content </div>
<div id="tabs-3">Tab3 content </div>
</div><a id="next" class="button-style" href="#" onclick="return SelectTab();">Select Tab</a>

问题是函数SelectTab 中的语句$('#ui-tabs').tabs('select', 2); 给了我错误Microsoft JScript runtime error: no such method 'select' for tabs widget instance。单击它们时正常选择选项卡工作正常。但是从函数调用完成时它不起作用。实施中出了什么问题或是否缺少任何文件?请提出建议。

【问题讨论】:

    标签: jquery jquery-ui jquery-tabs


    【解决方案1】:

    此版本中没有用于 jQuery UI 选项卡的 select 方法。要使您的功能正常工作,您需要将代码更改为;

    $('#ui-tabs').tabs( "option", "active", 2 );
    

    请阅读http://api.jqueryui.com/tabs/#option-active了解更多信息。

    // getter
    var active = $( ".selector" ).tabs( "option", "active" );
    
    // setter
    $( ".selector" ).tabs( "option", "active", 1 );
    

    查看这个小jsFiddle 以了解它的工作示例。

    【讨论】:

    • 感谢蒂姆 B 詹姆斯。它工作得很好。还有一个问题,我怎样才能在这种情况下获得选定的标签索引?
    • 这篇文章一开始并没有帮助我,因为我阅读速度很快,错过了它,但很难发现这个答案是正确的,所以给了一个很好的+1。对于像我这样的盲人:在代码中搜索 .tabs('select', term 找到它们并用 .tabs( "option", "active",
    【解决方案2】:

    如果你想在你的网站上创建单独的链接来打开标签,你可以使用下面的函数并调用它

    <div onclick="changeToTab(targetTabNumber)"> mylinkText </div>
    
    function changeToTab(ID){
        var $tabs = $('#tabs').tabs();
        $tabs.tabs( "option", "active", ID );
        return false;
    }
    

    第一个目标地址为 0,第二个目标地址为 1,以此类推。 当然,div 可以是任何允许点击的内容。

    【讨论】:

    • 这个答案的新变化
    • 我想给出一个更适合新手的答案,尽管它可能不会为知道如何处理答案 1 的书呆子增加价值。我知道什么是 getter 和 setter,但我记得有一次当我没有的时候。
    猜你喜欢
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多