我正在尝试根据按钮点击更改标签但不知何故它不起作用。它确实更改了选项卡但不加载内容,也不会调用select或show事件。这就是我的标记的样子:
<div id="content">
<ul>
<li><a id="tab1" href="Page1.aspx"><span>Tab 1</span></a></li>
<li><a id="tab3" href="Page2.aspx"><span>Tab 2</span></a></li>
<li><a id="tab4" href="Page3.aspx"><span>Tab 3</span></a></li>
<li><a id="tab5" href="Page4.aspx"><span>Tab 4</span></a></li>
<li><a id="tab7" href="Page5.aspx"><span>Tab 5</span></a></li>
</ul>
</div>
<button id="Button1" onclick="JavaScript:return ChangeTab();">Go to next tab</button>
function ChangeTab()
{
var $tabs = $('#content').tabs();
var selected = $tabs.tabs('option', 'selected');
$tabs.tabs("option", "selected", selected + 1);
//$tabs.tabs('select', selected + 1);
return false;
}
这是我初始化标签的方式:
$( "#content" ).tabs();
有人可以指出我在这里缺少什么吗?
答案 0 :(得分:0)
用于选择标签的代码似乎不正确。您正在进行的一些调用是传递太多(或不正确)参数。你应该这样做:
$('#Button1').click(function()
{
var currentTab = $('#content').tabs('option', 'selected');
var newTab = parseInt(currentTab) + 1;
$('#content').tabs('select', newTab);
});
答案 1 :(得分:0)
function ChangeTab(){
var $tabs = $('#content');
var selected = $tabs.tabs('option', 'selected');
$tabs.tabs("option", "selected", selected + 1);
$tabs.tabs('select', selected + 1);
}
答案 2 :(得分:0)
您的HTML或Javascript代码中存在问题。它应该工作:这是一个最小的工作演示http://jsfiddle.net/pomeh/Csdf4/
HTML代码
<div id="tabs">
<ul>
<li><a href="#tabs-1">A</a></li>
<li><a href="#tabs-2">B</a></li>
<li><a href="#tabs-3">C</a></li>
<li><a href="#tabs-4">D</a></li>
<li><a href="#tabs-5">E</a></li>
</ul>
<div id="tabs-1">Content A</div>
<div id="tabs-2">Content B</div>
<div id="tabs-3">Content C</div>
<div id="tabs-4">Content D</div>
<div id="tabs-5">Content E</div>
</div>
<input type="button" value="Go next" onclick="goNext();" />
Javascript代码
var $tabs = $( "#tabs" );
// initialize once
$tabs.tabs({
select: function(event, ui) {
console.log( "select event" );
},
show: function(event, ui) {
console.log( "show event" );
}
});
function goNext() {
// only "select" the next element in the handler
var index = $tabs.tabs( "option", "selected" );
$tabs.tabs( "select", index+1 );
}
答案 3 :(得分:0)
$(function() {
$('#content').tabs();
$("#content").tabs("option", "selected", 1);
var index = $("#content").tabs("option", "selected");
$("#button1").click(function() {
$("#content").tabs("option", "selected", 1);
});
window.setInterval(yourfunction, 1000);
function yourfunction() {
var x = (index++) % 3;
$("#content").tabs("option", "selected", x);
}
});
在Fiddler中尝试这个例子,对不起,我不详细解释。