初始化之前无法在选项卡上调用方法;试图调用方法'选项'

时间:2014-02-25 10:51:58

标签: javascript jquery jquery-ui jquery-plugins jquery-tabs

我正在使用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。现在,我在tab1中加载的第一页Page1有一个按钮,可以将我带到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也会出现同样的错误。什么初始化是这个!!是否有任何替代方法可以满足我的需求。

1 个答案:

答案 0 :(得分:1)

尝试输入$(“#tabs”)。tabs();第一