Невозможно вызвать методы на вкладках до инициализации; попытался вызвать метод 'option'

0

Я использую вкладки 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 также дает ту же ошибку. Что это за инициализация! Есть ли альтернативный подход к тому, что я хочу.

  • 0
    есть ли вкладки на домашней странице или на второй странице
  • 0
    Вкладки есть на главной странице
Показать ещё 6 комментариев
Теги:
jquery-plugins
jquery-tabs

1 ответ

1

Попробуйте поместить $ ("# tabs"). Tabs(); первый

Ещё вопросы

Сообщество Overcoder
Наверх
Меню