1,下载
1,关于json
使用list类型的json
{
"code":0,
"msg":"操作成功",
"data":[{
"id":"001",
"title": "湖南省",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": null
},{
"id":"002",
"title": "湖北省",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": null
},{
"id":"003",
"title": "广东省",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": null
},{
"id":"004",
"title": "浙江省",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": null
},{
"id":"005",
"title": "福建省",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": null
},{
"id":"001001",
"title": "长沙市",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": "001"
},{
"id":"001002",
"title": "株洲市",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": "001"
},{
"id":"001003",
"title": "湘潭市",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": "001"
},{
"id":"001004",
"title": "衡阳市",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": "001"
},{
"id":"001005",
"title": "郴州市",
"checkArr": [{"type": "0", "isChecked": "0"}],
"parentId": "001"
}]
}
1,普通树
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dTree</title>
<!-- 引入样式 -->
<link href="/resources/layui/css/layui.css" rel="stylesheet" type="text/css">
<link href="/resources/layui/layui-ext/dtree/dtree.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/resources/layui/layui-ext/dtree/font/dtreefont.css">
</head>
<body style="margin: 10px">
<script type="text/javascript" src="/resources/layui/layui.js"></script>
<script type="text/javascript" src="/resources/layui/layui-ext/dtree/dtree.js"></script>
</body>
<ul id="demoTree" class="dtree"></ul>
<script type="text/javascript">
layui.extend({
dtree: '{/}resources/layui/layui-ext/dtree/dtree' // {/}的意思即代表采用自有路径,即不跟随 base 路径
}).use(['dtree','layer','jquery'], function(){
var dtree = layui.dtree, layer = layui.layer, $ = layui.jquery;
$.get("/json/dtree3_list.json",function(obj){
var demoTree = dtree.render({
elem: "#demoTree",
data: obj.data,
dataFormat: "list",
initLevel: 1
});
})
dtree.on("node('demoTree')" ,function(obj){
layer.msg(JSON.stringify(obj.param));
});
});
</script>
</html>
2,下拉树
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dTree</title>
<!-- 引入样式 -->
<link href="/resources/layui/css/layui.css" rel="stylesheet" type="text/css">
<link href="/resources/layui/layui-ext/dtree/dtree.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/resources/layui/layui-ext/dtree/font/dtreefont.css">
<style type="text/css">
#test{position: absolute;max-height: 500px;height: 350px;overflow: auto;width: 100%;z-index: 123;display: none;border:1px solid silver;top: 42px;}
.layui-show{display: block!important;}
</style>
</head>
<body style="margin: 10px">
<script type="text/javascript" src="/resources/layui/layui.js"></script>
<script type="text/javascript" src="/resources/layui/layui-ext/dtree/dtree.js"></script>
</body>
<fieldset class="layui-elem-field layui-field-title" id="csk">
<legend>下拉框树的简易实现</legend>
<div class="layui-field-box">
<div class="layui-row layui-col-space10" style="margin-top: 10px;">
<div class="layui-col-lg12">
<div class="layui-form layui-form-panel">
<div class="layui-form-item">
<label class="layui-form-label">城市:</label>
<div class="layui-input-block">
<div class="layui-unselect layui-form-select" id="city">
<div class="layui-select-title">
<input type="hidden" name="city_id" id="city_id">
<input type="text" name="city" id="input_city" placeholder="请选择" readonly="" class="layui-input layui-unselect">
<i class="layui-edge"></i>
</div>
</div>
<div class="layui-card" id="test">
<div class="layui-card-body">
<div id="toolbarDiv"><ul id="slTree" class="dtree" style="width: 100%;"></ul></div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<input type="text" id="level" name="level" class="layui-input"/>
</div>
</div>
</div>
</div>
</div>
</div>
</fieldset>
<input type="button" value="得到值" id="getValue" >
<script type="text/javascript">
layui.extend({
dtree: '{/}resources/layui/layui-ext/dtree/dtree' // {/}的意思即代表采用自有路径,即不跟随 base 路径
}).use(['dtree','layer','jquery'], function(){
var dtree = layui.dtree, layer = layui.layer, $ = layui.jquery;
$.get("/json/dtree3_list.json",function(obj){
var demoTree = dtree.render({
elem: "#slTree",
data: obj.data,
dataFormat: "list",
initLevel: 1,
accordion:true,
});
})
$("#city").on("click",function(){
$(this).toggleClass("layui-form-selected");
$("#test").toggleClass("layui-show layui-anim layui-anim-upbit");
});
dtree.on("node(slTree)", function(obj){
$("#input_city").val(obj.param.context);
console.log(obj);
$("#city_id").val(obj.param.nodeId);
$("#city").toggleClass("layui-form-selected");
$("#test").toggleClass("layui-show layui-anim layui-anim-upbit");
});
$("#getValue").click(function(){
var node=$("#city_id").val();
alert(node);
});
});
</script>
</html>
3,复选树
要求json里面必须有
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>dTree</title>
<!-- 引入样式 -->
<link href="/resources/layui/css/layui.css" rel="stylesheet" type="text/css">
<link href="/resources/layui/layui-ext/dtree/dtree.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/resources/layui/layui-ext/dtree/font/dtreefont.css">
</head>
<body style="margin: 10px">
<script type="text/javascript" src="/resources/layui/layui.js"></script>
<script type="text/javascript" src="/resources/layui/layui-ext/dtree/dtree.js"></script>
</body>
<ul id="demoTree" class="dtree"></ul>
<input type="button" value="得到选中值" id="getValue">
<script type="text/javascript">
layui.extend({
dtree: '{/}resources/layui/layui-ext/dtree/dtree' // {/}的意思即代表采用自有路径,即不跟随 base 路径
}).use(['dtree','layer','jquery'], function(){
var dtree = layui.dtree, layer = layui.layer, $ = layui.jquery;
$.get("/json/dtree3_list.json",function(obj){
var demoTree = dtree.render({
elem: "#demoTree",
data: obj.data,
initLevel: 1,
dataFormat: "list",
checkbar:true
});
})
dtree.on("node('demoTree')" ,function(obj){
layer.msg(JSON.stringify(obj.param));
});
$("#getValue").click(function(){
var params = dtree.getCheckbarNodesParam("demoTree");
for(var i=0;i<params.length;i++){
alert(JSON.stringify(params[i]));
}
})
});
</script>
</html>