【问题标题】:Cannot call methods on tabs prior to initialization; attempted to call method 'option'无法在初始化之前调用选项卡上的方法;试图调用方法“选项”
【发布时间】: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


【解决方案1】:

试试把 $("#tabs").tabs();首先

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多