程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> easyui-關於easyUI 左側菜單欄的問題

easyui-關於easyUI 左側菜單欄的問題

編輯:編程綜合問答
關於easyUI 左側菜單欄的問題
 $(function() {

    $.ajax({
        async : false,
        url : getRootPath() + '/getPower.action',
        type : 'post',
        dataType : 'JSON',
        success : function(data) {
            addNav(data);
        }
    });

    // 導航菜單綁定初始化
    $("#menu").accordion({ // 初始化accordion
        title : '導航菜單',
        fit : true,
        border : true,
        animate : true
    });
    });

    function addNav(data) {
    $('#menu').accordion();

    $.each(data, function(i, m) {
        var menulist = '';
        var mid = m.id;
        menulist += '<ul>';
        menulist += '<div id = "tree' + mid + '" ></div>';
        menulist += '</ul>';
        console.info(menulist);

        $('#menu').accordion('add', {
            title : m.text,
            content : "<ul id='tree"+mid+"' ></ul>",
            iconCls : 'icon ' + 'icon-sys',
            selected : true,
            collapsible : true
        });

        $.parser.parse();

        addTree(mid, m.children);

    });
    }

    function addTree(mid, menus) {

    $("#tree"+ mid).tree(
            {

                data : menus,
                type : 'json',
                animate : true,

                onSelect : function(node) {
                    node.state == 'closed' ? $(this)
                            .tree('expand', node.target) : $(this).tree(
                            'collapse', node.target);
                },

                onClick : function(node) {
                    if ($('#' + mid).tree('isLeaf', node.target)) {
                        addTab(node.text, node.url, node.icon);
                    }
                }
            });
}

這樣寫有什麼問題嗎,為什麼加載出來第一級的菜單有,但是往下的tree就出不來了,試了半天找不出原因,請各位前輩幫我看看

最佳回答:


你的代碼中有

menulist += '<div id = "tree' + mid + '" ></div>';

又有

content : "<ul id='tree"+mid+"' ></ul>",

一個頁面裡面會出現id相同的元素,會導致沖突。是不是寫錯了?因為你下面的點擊事件中代碼裡面取的節點id是$('#' + mid),但是在之前的代碼裡面並沒有創建'#' + mid這樣id的節點。
還有一個問題是

        menulist += '<ul>';
        menulist += '<div id = "tree' + mid + '" ></div>';
        menulist += '</ul>';

在ul標簽裡面對用的是li元素,你使用的是div,不符合規范。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved