jstree使用示例

该博客介绍了如何使用 jstree 库创建并管理树形结构,包括设置核心配置、实现右键菜单功能,以及监听新建、重命名和删除节点的事件。示例代码展示了如何遍历数据、添加自定义操作,并处理节点的选中事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$(function() {
	  $('#container')
	  .jstree({
	    'core' : { 
	      'check_callback' : true,
	      'themes' : { "dots" : false,"stripes" : true },
	      'data' : [
	                <volist name="jsoninfo" id="vo">//thinkphp 的遍历标签
                   	{ "id" : "<{$vo.did}>", "parent" : "<{$vo.parentid}>", "text" : "<{$vo.name}>","icon" : "glyphicon glyphicon-folder-close","state" : { "opened" : true } },
                   	</volist>
                 ]
	    },
<span style="white-space:pre">		</span>//右键菜单
		'contextmenu':{
			'select_node':!1,
			'items':function(){
				var a=$.jstree.defaults.contextmenu.items();
				return a.create.label="添加子部门",
				a.create.action=function(a){
					var c=$.jstree.reference(a.reference),
					d=c.get_node(a.reference);
					c.create_node(d,{
						type:"default",
						text:"新建部门"
					},
					"last",
					function(a){
						setTimeout(function(){
							c.edit(a)
						}, 0);
					})
				},
				a.rename.label="重命名",
				a.remove.label="删除",
				delete a.ccp,
				a
			}
		},
	  	"plugins" : ["wholerow","contextmenu"]
	  })
	  .on('create_node.jstree', function(e, data){ //新建节点
		  //data.node.parent;父节点

		}).on('rename_node.jstree', function(e, data){ <span style="font-family: Arial, Helvetica, sans-serif;">//重命名节点</span>
<span style="white-space:pre">			</span>//处理data.text,data.node.id

		}).on('delete_node.jstree', function(e, data){//删除节点
			//处理data.node.id
		})
  	  .on("changed.jstree", function (e, data) {
		if(data.selected.length) {
			//获取点击焦点是处理data.instance.get_node(data.selected[0]).id
		}
	  });
	  
	});

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值