EasyUI創建非同步樹形菜單和動態添加標簽頁tab

来源:http://www.cnblogs.com/shenxinpeter/archive/2016/09/12/5865770.html
-Advertisement-
Play Games

創建非同步樹形菜單 <ul class="easyui-tree" id="treeMenu"> </ul> $(function(){ $('#treeMenu').tree({ url:'tree_data.json' //url的值是非同步獲取數據的頁面地址 }); }); $result = [ ...


創建非同步樹形菜單

  1. 創建樹形菜單的ul標簽
    <ul class="easyui-tree" id="treeMenu">
    </ul>
    View Code
  2. 寫js代碼,對菜單的ul標簽元素使用tree函數
    $(function(){
        $('#treeMenu').tree({
            url:'tree_data.json'  //url的值是非同步獲取數據的頁面地址 
        });
    });
    View Code
  3. 寫用來非同步獲取數據的php頁面(tree_data.json頁面)。
    返回的需是Json值(此處用數組代替從資料庫獲取的數據,以省略連接資料庫過程)
    $result = [];
    
    //節點一
    $prodArr = [
        "id" => 1,
        "text" => "商品管理",
        "state" => "open",
        "children" => [
            [
                "id" => 2,
                "text" => "添加商品",
                "state" => "open",
                "attributes" => [
                    "url" => "http://abc.com/test.php"
                ]
            ],
            [
                "id" => 3,
                "text" => "修改商品",
                "state" => "open",
                "attributes" => [
                    "url" => "http://abc.com/test2.php"
                ]
            ]
        ]
    ];
    
    //節點二
    $newsArr = [
        "id" => 10,
        "text" => "新聞管理",
        "state" => "open",
        "children" => [
            [
                "id" => 12,
                "text" => "添加新聞",
                "state" => "open"
            ],
            [
                "id" => 13,
                "text" => "修改新聞",
                "state" => "open"
            ]
        ]
    ];
    
    //節點三
    $userArr = [
        "id" => 20,
        "text" => "用戶管理",
        "state" => "open",
        "children" => [
            [
                "id" => 22,
                "text" => "添加用戶",
                "state" => "open"
            ],
            [
                "id" => 23,
                "text" => "修改用戶",
                "state" => "open"
            ]
        ]
    ];
    
    Array_push($result, $prodArr, $newsArr, $userArr);
    echo json_encode($result);
    View Code

    說明:
    節點的屬性:
    id:節點ID,可以作為參數來非同步向頁面地址獲取子節點數據
    text:節點文本
    state:節點狀態。取值為open(預設預設值)或close。當設置為close時,會自動非同步獲取子節點的數據
    checked:指明節點是否被選中。
    attributes:自定義屬性
    children:以數組的形式包含子節點       (更多細節知識可查看easyui官網中tree知識點)

 到這,非同步樹形菜單就完成了。

 

動態添加標簽頁tab

  1.  創建用來包裹標簽頁tab的外層標簽
    <div id="contentTabs" class="easyui-tabs" style="width:100%;height:100%;">
    </div> 
    View Code
  2. 在js中定義addTab函數
    function addTab(title, url){
        if ($('#contentTabs').tabs('exists', title)){
            $('#contentTabs').tabs('select', title);
        } else {
            var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';
            $('#contentTabs').tabs('add',{
                title:title,
                content:content,
                closable:true
            });
        }
    }
    View Code
  3. 在樹形菜單的點擊事件函數中調用addTab函數
    $(function(){
        $("#treeMenu").tree({
            onClick:function(node){
                if (node.attributes !== undefined && node.attributes.url !== undefined) {
                    addTab(node.text,node.attributes.url);    
                }                                                                
            }
        });
    });
    View Code

 

最後,如圖顯示


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、設置頁面關鍵詞<meta name="keywords" content="輸入具體的關鍵詞">2、設置頁面的描述<meta name="description" content="設置頁面描述">3、定義頁面搜索方式<meta name="robots" content="搜索方式" all ...
  • 組件創建了,就有方法找到這些組件。在DOM、Jquery都有各自的方法查找元素/組件,ExtJS也有自己獨特的方式查找組件、元素。本次從全局查找、容器內查找、form表單查找、通用組件等4個方面介紹組件的查找方式。 ...
  • 1、弱類型:聲明無需指定數據類型,由值決定,查看變數數據類型:typeof(變數); 2、隱式轉換:任何數據類型與string類型相加,結果為string類型; 3、顯式(強制)轉換: ①toString():轉換為字元串; ②parseInt(value):將value轉換為整數;(* 碰到第一個 ...
  • 1、javascript組成: ①核心ECMAScript;②文檔對象模型DOM(Document Object Model);③瀏覽器對象模型BOM(Browser Object Model); 2、javascript特點: ①文本編輯;②無需編譯;③弱類型;④面向對象; 3、內核引擎: ①IE ...
  • 選擇器是jQuery最基礎的東西,本文中列舉的選擇器基本上囊括了所有的jQuery選擇器,也許各位通過這篇文章能夠加深對jQuery選擇器 的理解,它們本身用法就非常簡單,我更希望的是它能夠提升個人編寫jQuery代碼的效率。本文配合截圖、代碼和簡單的概括對所有jQuery選擇器進行 了介紹,也列舉 ...
  • html中的大部分的標簽都有一些糟糕的樣式,有的是標簽天然自帶的,有的是瀏覽器預設設置的,我們在寫網頁時,這些預設的樣式就會時不時的跳出來搗一下亂,搞得我們很是無奈。所以成手在寫css樣式時,一般都會在開頭寫一段初始化程式,來去掉這些預設樣式,比如最簡單的方法就是使用*{margin:0;paddi ...
  • 簡約版: 完整版: ...
  • 在項目中,由於實際描述文字過多,導致初始頁面縱向長度過長,也使得餘下信息利用率降低;所以在文字過多的時候,初始化限制行數是有必要的 1. CSS單行文本溢出,顯示省略號 2. CSS多行文本溢出,顯示省略號 上面兩種適合標簽裡面只有文字的情況,而有時我們會遇到這樣的情況 3. 第三種就是解決上面情況 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...