Я использую вкладки 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 );
в $.click() на странице2.js. Когда я нажимаю кнопку, я получаю ошибку,
Cannot call methods on tabs prior to initialization; attempted to call method 'option'
Пожалуйста помоги !
У моей страницы1.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 также дает ту же ошибку. Что это за инициализация! Есть ли альтернативный подход к тому, что я хочу.
Попробуйте поместить $ ("# tabs"). Tabs(); первый