【发布时间】:2014-02-25 10:51:58
【问题描述】:
我正在使用 jquery 选项卡,我的 home.jsp 有这个..
<div id = "tabs">
<ul>
<li><a href="page1" class="menu-text" >Page1</a></li>
<li><a href="page2" class="menu-text" >Page2</a></li>
<li><a href="page3" class="menu-text" >Page3</a></li>
<li><a href="page4" class="menu-text" >Page4</a></li>
<li><a href="page4" class="menu-text" >Page5</a></li>
</ul>
</div>
Home.jsp 也有,
<script>
$(function() {
$( "#tabs" ).tabs({
beforeLoad: function( event, ui ) {
if ( ui.tab.data( "loaded" ) ) {
event.preventDefault();
return false;
}
ui.jqXHR.error(function() {
ui.panel.html(
"Couldn't load this tab. We'll try to fix this as soon as possible. " );
});
ui.jqXHR.success(function() {
ui.tab.data( "loaded", true );
});
}
});
});
</script>
我正在使用 Spring MVC,页面 1-5 映射到 jsp。现在我的第一个页面 Page1,加载到 tab1,有一个按钮,应该带我到 tab2:page2。我正在使用
$("#tabs").tabs("option","active",1 );
在 page2.js 的 $.click() 中。当我点击按钮时,我得到了错误,
Cannot call methods on tabs prior to initialization; attempted to call method 'option'
请帮忙!
我的 page1.js 有
$(document).ready(function () {
$today = new Date();
$yesterday = new Date($today);
$yesterday.setDate($today.getDate() - 1);
var $dd = $yesterday.getDate();
var $mm = $yesterday.getMonth()+1; //January is 0!
var $yyyy = $yesterday.getFullYear();
if($dd<10){$dd='0'+dd;}
if($mm<10){$mm='0'+$mm;}
$yesterday = $yyyy+'-'+$mm+'-'+$dd;
$("#yestDate").html($yesterday);
});
$('#button').click(function() {
$("#tabs").tabs("option","active",1 );
/*if($('#tabs').hasClass('ui-tabs')){$("#tabs").tabs("option","active",1 );}*/
/*$("#tabs").tabs({active:1});*/
/*$( ".selector" ).tabs( "refresh" );
$("#tabs").tabs("load",1);*/
});
我还尝试预加载所有选项卡以防出现问题,但 $.load 也给出了相同的错误。这是什么初始化!!有没有我想要的替代方法。
【问题讨论】:
-
标签页是在首页还是在第二页
-
首页上有标签
-
你能发布更多的 HTML 和代码吗?它似乎在这个测试 JSFiddle 中工作正常:jsfiddle.net/YTLHx
-
列表和脚本占据了我的大部分空间,summary 有另一个列表,page1.js 有我粘贴为编辑的代码。如果可能,请解释错误。
-
我没听懂你的小提琴,这些页面指的是什么?我试过用 div 做这个,它可以工作。不知道使用JSP有没有问题
标签: javascript jquery jquery-ui jquery-plugins jquery-tabs