easyUI設定一個令人滿意的樹形下拉框combotree
阿新 • • 發佈:2019-02-15
什麼叫令人滿意的樹形下拉框:
1.父級節點不可選擇
2.單擊父級節點,可展開和關閉子級節點
效果展示:
程式碼:
下拉框的佈局設定:
前臺是一個datagrid表格,在toolbar裡添加了一個text和一個查詢按鈕
$("#singleGrid").datagrid({ //其他亂七八糟的樹形 columns:[[ //其他亂七八糟的屬性 ]], toolbar:[ { //其他亂七八糟的按鈕 },'-',{ //這才是重點☆☆☆☆☆ text: '選擇院系:<select type="text" id="queryData"/>' },{ id: 'btn4', text: '點選查詢', iconCls: 'icon-search', handler: function(){ //這樣可以獲取到我們的id var query_id = $("#queryData").combotree("getValue"); alert(query_id); } } ], })
樹形下拉框的設定
其次是樹形下拉框怎麼設定:
$("#queryData").combotree({ width:'100%', animate:true, url:'treegrid_data1.json', labelPosition:'top', onBeforeSelect:function(node){ if(node.children){ //先封裝成一個tree var t = $('#queryData').combotree('tree'); //然後使用toggle t.tree('toggle',node.target);//注意和下一行的順序 t.tree("unselect"); //判斷node節點下是不是有childred? 有:點選的是一個父級選單 return; } } })
json資料的編寫
我這裡使用的是測試資料,直接編寫的一個json
後期如果需要從資料庫中獲取資料。修改url即可。
[{ "id":1, "text":"計算機與資訊工程學院", "children":[{ "id":11, "text":"電腦科學與技術" },{ "id":12, "text":"物聯網工程" },{ "id":13, "text":"軟體工程" }] },{ "id":2, "text":"建築工程學院", "state":"closed", "children":[{ "id":21, "text":"建築專業" },{ "id":22, "text":"測試專業" },{ "id":23, "text":"造房子專業" }] }]