1. 程式人生 > >用JS將後臺返回的JSON資料轉換成EasyUI Tree約定的格式

用JS將後臺返回的JSON資料轉換成EasyUI Tree約定的格式

/**載入根節點樹狀圖*/ function loadParentId_add() { $.ajax({ url: ''與後臺互動的地址, success: function (data) { if (data.success) { data= formateRows2Tree(data.rows); //建立根節點 $('#parentId_add').combotree({ required: true }).combotree("tree").tree
({ data:[{ "id":'-1', "text":'根節點' }], checkbox: false }); //載入父節點樹狀選擇框資料 $('#parentId_add').combotree({ required: true }).combotree("tree").tree('append', { parent: $
('#parentId_add').combotree("tree").tree('find','-1').target, data:data }); } else { $.messager.alert('error7', data.msgDesc); return []; } } }); } /*————轉換為樹形————*/ function formateRows2Tree(nodes) { if
(!isArray(nodes)) { nodes = [nodes]; } return doFormateRows2Tree(nodes); } function doFormateRows2Tree(rows) { //------------------------初步格式化 var newRows = []; $.each(rows, function (idx, ele) { newRows.push(_formateSingleNode(ele)); }); //------------------------轉為樹形 var topRowArray = arrayToTree(newRows, 'children', 'id', '_pid'); //------------------------清理無用屬性,設定初始化屬性 $.each(topRowArray, function (idx, ele) { delete ele['_pid']; }); return topRowArray; } function _formateSingleNode(ele) { var nodeText = ele['text']?ele['text']:ele['name']; return { 'id': ele['id'], 'text': nodeText, '_pid': ele['parentId'], 'state': !ele['_ignoreHasChilren']&&ele['hasChildren'] ? 'closed' : null, 'attributes': {'orgData': ele} }; } /*————轉換為樹形————*/