我想设置默认标签 我的源代码
<div data-role="tabs" id="tabs">
<div data-role="navbar">
<ul>
<li><a href="#one" id="tabId1" data-ajax="false">one</a></li>
<li><a href="#two" data-ajax="false">two</a></li>
<li><a href="ajax-content.html" data-ajax="false">three</a></li>
</ul>
</div>
<div id="one" class="ui-body-d ui-content">
<h1>First tab contents</h1>
</div>
<div id="two">
<ul data-role="listview" data-inset="true">
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
<li><a href="#">BMW</a></li>
<li><a href="#">Cadillac</a></li>
<li><a href="#">Ferrari</a></li>
</ul>
</div>
</div>
![$( "#tabs" ).tabs({ active: 0 });][1]
它的工作但没有背景颜色,因为它没有点击第一个标签 我想在登录
时设置带背景的默认选项卡答案 0 :(得分:4)
要设置活动标签,请尝试:
$( "#tabs" ).tabs("option", "active", 1);
这是一个有效的 DEMO
更新:选项卡按钮上的蓝色背景来自类ui-btn-active。将此类添加到按钮,或者不是设置活动标签,而是在相应的按钮上触发点击事件:http://jsfiddle.net/ezanker/c29gd4h6/1/
答案 1 :(得分:1)
我在第一个tab-li中添加了class =“ui-btn-active”
<div data-role="navbar">
<ul>
<li><a href="a.html" class="ui-btn-active">One</a></li>
<li><a href="b.html">Two</a></li>
</ul>
</div><!-- /navbar -->
如果不能正常工作,请尝试下面只有页面加载才能为我工作我是指浏览器中的刷新页面
将以下代码放入jquerymobile pagecreate
事件中,该事件将选中每个第一个标签
$('[data-role="tabs"] a:first').each(function() {
$(this).click();
});
我已将上面的行放入pagecreate事件
$(document).on("pagecreate", "#homepage", function(event) {
$('[data-role="tabs"] a:first').each(function() {
$(this).click();
});
});
上面一行#homepage
是我的网页ID,pagecreate
是jquery-mobile事件,当页面load/init
答案 2 :(得分:0)
<强> HTML 强>
<div data-role="tabs" id="tabs">
<div data-role="navbar">
<ul>
<li><a href="#one" id="tab-one" data-ajax="false">Default</a></li>
<强> JS 强>
$(document).on("pagecreate", function (event) {
$('#tab-one').trigger('click');
});
答案 3 :(得分:0)
我发现现有提到的解决方案存在问题:
select-this-tab
类服务器。因此,我修改了@Devendra Chhaiya的那个按钮,以单击 only 实际标签中的 button (而不是任何标签内容,请保持标签处于选中状态,并防止内容加载进入选项卡区域。我必须将触发器从pagecreate
移至pageinit
才能起作用:
/*
* https://stackoverflow.com/questions/13837304/jquery-ui-non-ajax-tab-loading-whole-website-into-itself/17384908#17384908
*/
jQuery(function () {
jQuery('base').remove();
jQuery("#tabs").tabs();
});
$(document).on('pageinit', function () {
console.log('pageinit');
/*
* Ensure the correct tab of a set is selected (and only once)
* https://stackoverflow.com/questions/25336233/jquery-mobile-default-tab/64080164#64080164
*/
$('[data-role="tabs"] [data-role="navbar"] ul li.select-this-tab').each(function () {
console.log('Clicking tab');
$(this).removeClass("select-this-tab").find("a").click();
});
/*
* Ensure a tab REMAINS selected when coming back to that page.
* https://stackoverflow.com/questions/16752704/tab-active-state-in-jquery-mobile/23725612#23725612
*/
$('div[data-role="tabs"] [data-role="navbar"] a').click(function (e) {
e.preventDefault();
$('div[data-role="tabs"] [data-role="navbar"] .ui-btn-active').removeClass('ui-btn-active ui-state-persist');
$(this).addClass('ui-btn-active ui-state-persist');
});
您可以删除console.log
行,这些行仅可用来证明代码确实触发了。