bootstrap treeview节点选中后禁止取消
业务要求bootstrap treeview的节点再次选中后不会取消
查找一番没找到bootstrap自带的解决方法,也没有找到其他适用解决方法只好自己瞎写
一开始只在的取消节点事件添加了切换选中状态的方法
$('#treeview').on('nodeUnselected', function(event, data) {
$('#treeview').treeview('toggleNodeSelected', [ data.nodeId, { silent:true } ]);
});
只是这样写的话出现另一个问题是如果在已选中一个节点的情况再选另一个节点会出现有两个节点同时选中,看了下发现是在选中另一个节点前会调用取消节点事件导致
所以在节点选中事件增加了一个循环判断用于取消不是当前选中的节点,如下
$('#treeview').on('nodeSelected', function(event, data) {
var selectArr = $('#treeview').treeview('getSelected');
for (i = 0; i < selectArr.length; i++) {
if (selectArr[i].nodeId != data.nodeId) {
$('#treeview').treeview('unselectNode', [selectArr[i].nodeId, { silent: true }]);
}
}
});