獲取EasyUI的treegrid的checkbox所有已勾選的數據


EasyUI為TreeGrid的已勾選節點,未勾選節點,只勾選部分子節點的父節點分別添加了三個不同的樣式,如下:
樣式一:tree-checkbox2 有子節點被選中
樣式二:tree-checkbox1 節點被選中
樣式三:tree-checkbox0 節點未選中

那么,我們就可以依據這三個樣式分別取到所有已勾選的主鍵值了,為方便使用,我們寫成TreeGrid的擴展方法,代碼如下:

    $.extend($.fn.treegrid.methods, {  
        //iscontains是否包含父節點(即子節點被選中時是否也取父節點)  
        getAllChecked: function (jq, iscontains) {  
            var keyValues = new Array();  
            /*
              tree-checkbox2 有子節點被選中的css
              tree-checkbox1 節點被選中的css
              tree-checkbox0 節點未選中的css
            */  
            var checkNodes = jq.treegrid("getPanel").find(".tree-checkbox1");  
            for (var i = 0; i < checkNodes.length; i++) {  
                var keyValue1 = $($(checkNodes[i]).closest('tr')[0]).attr("node-id");  
                keyValues.push(keyValue1);  
            }  
      
            if (iscontains) {  
                var childCheckNodes = jq.treegrid("getPanel").find(".tree-checkbox2");  
                for (var i = 0; i < childCheckNodes.length; i++) {  
                    var keyValue2 = $($(childCheckNodes[i]).closest('tr')[0]).attr("node-id");  
                    keyValues.push(keyValue2);  
                }  
            }  
      
            return keyValues;  
        }  
    });  

調用方法:

var kv = $("#XXX").treegrid("getAllChecked", true);  
alert(kv);

另外,1.4.5版本以后的,提供如下幾個方法:

    var kv = $("#XXX").treegrid("getCheckedNodes");  獲取勾選的節點  
    var kv = $("#XXX").treegrid("checkNode",id);  根據ID勾選節點  
    var kv = $("#XXX").treegrid("uncheckNode",id);  根據ID取消勾選節點 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM