u010956619
小小鱼来喽
采纳率55.6%
2017-02-21 06:23

js在动态生成的页面上动态添加easyUI的tab


代码如下:
var tab = $("

");
var content = "
";

tab.tabs('add', {
title: view.title,
content : content,
closable: true
});
执行到add的时候,就报出了如下错误:
jquery.easyui.js:5210 Uncaught TypeError: Cannot read property 'options' of undefined
at _34c (jquery.easyui.js:5210)
at HTMLDivElement. (jquery.easyui.js:5469)
at Function.each (jquery-1.9.1.min.js:132)
at init.each (jquery-1.9.1.min.js:41)
at Object.add (jquery.easyui.js:5468)
at init.$.fn.tabs (jquery.easyui.js:5431)
at DataBrowser.showReport (db.databrowser.js:180)
at Object.$.parser.onComplete (db.databrowser.js:91)
at Object.parse (jquery.easyui.js:46)
at jquery.easyui.js:3276

    是不是add方法只能用于给静态div添加tab呢?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • showbo GoCityPass新加坡曼谷通票 4年前

    要先初始化tabs后才能调用add方法,使用样式来初始化easyUI需要在dom ready前将html代码添加到dom中,要不也无法初始化

     var tab = $("<div id='tab_row_" + r + "_column_" + c + "' class='easyui-tabs' style='width:500px;height:250px;'>");
    $('#xxxx').append(tab);
    tab.tab();//要手动调用tabs进行初始化
    
    var content = "<table id='table_datagrid_'" + view.id +"></table>";
    
    tab.tabs('add', {
                        title: view.title,
                        content : content,
                        closable: true
                    });
    
    点赞 11 评论 复制链接分享
  • ilusm ilusm 4年前

    add方法是tabs控件的方法, 你必须先获取到一个有限的easyui tabs控件, 然后才能调用它的add方法.
    https://jsfiddle.net/IanSean/8jrvzz8s/

    点赞 1 评论 复制链接分享

为你推荐