獲取EasyUI的treegrid的checkbox所有已勾選的資料
阿新 • • 發佈:2019-01-29
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取消勾選節點