我们的项目用了SunSean的idTabs,但每个tab里的控件会触发postback,或者转到其他页面再转回来,这样当前选中的tab必丢。印度同事不肯用AJAX,无奈今天加班给印度人写个demo,通过回传URL参数来选择tab。

为了做这件事,除了jquery库和idTabs插件,我们还需要下载一个用来搞URL的插件:jquery.url.js,传送门:https://github.com/allmarkedup/jQuery-URL-Parser

Tab菜单的HTML代码这样写,每个tab的div自己搞定,不发出来浪费页面了:

<div class="tabmenu">
	<ul>
	    <li><a href="#idTab1">Dashboard</a></li>
	    <li><a href="#idTab2">Tracker</a></li>
	    <li><a href="#idTab3">Documents</a></li>
	    <li><a href="#idTab4">Collaboration</a></li>
	    <li><a href="#idTab5">Knowledge Mapping</a></li>
    </ul>
</div>

注意,一定不要给ul加class=”idTabs”,也就是不要用SunSean官网上的无javascript的写法。

脚本部分这样写:

<script type="text/javascript">
    $(document).ready(function () {
        var tabToSelect = jQuery.url.param("tab");
        if (null == tabToSelect || "" == tabToSelect) {
            //alert("Parameter 'tab' is null or empty\nAuto selecting idTab1");
            tabToSelect = "idTab1";
        }
        //alert("Selecting: " + tabToSelect);
        $(".tabmenu ul").idTabs(tabToSelect);
    });
</script>

有图有真相: