微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在jquery UI选项卡中预选启用ajax的选项卡

我有与此处描述的完全相同的问题: http://bugs.jqueryui.com/ticket/7930.问题是维护者无法重现它,因此票证已关闭.我的代码如下:
<script type="text/javascript">
    $(document).ready(function () {
        // assigns the value of a GET parameter called tab to tabIndex
        var tabIndex = getUrlVars()['tab'];

        if (isNaN(tabIndex)) {
            tabIndex = 0;
        }

        // initializes tabs and selects the one provided in tabIndex (default: 0)
        $('div#tabs').tabs({ ajaxOptions: { cache: false},selected: tabIndex });
    });
</script>
<div id="tabs">
    <ul>
        <li>@Html.ActionLink("User roles","Roles","Admin",New With {.rand = DateTime.Now.Ticks},nothing)</li>
        <li>@Html.ActionLink("Report templates","Reports",nothing)</li>
        <li>@Html.ActionLink("Blabla","2","Admin")</li>
        <li>@Html.ActionLink("Blabla2","3","Admin")</li>
    </ul>
</div>

这将使用id创建标签:#ui-tabs-1,#ui-tabs-2,#ui-tabs-3,#ui-tabs-4.我通过url:http://server/Admin?tab=1访问该页面.选择了相应的选项卡(第二个带有报告),但是对前一个选项卡(用户角色)的href进行了ajax调用.它会导致显示标签内容.你知道怎么解决吗?

解决方法

我用了:

$(‘#tabs’).tabs({selected:tabIndex});

但tabIndex是一个字符串(我从url或url hash获取它),因此导致例如:

$(‘#tabs’).tabs({selected:“2”});

在这种情况下,您可以观察到这种意外行为.
在tabIndex上调用Number函数

tabIndex = Number(tabIndex)

解决了这个问题.

原文地址:https://www.jb51.cc/jquery/177243.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐