我有一个带有多个父节点和子节点的dynatree。我获取了json数据并传递给dynatree以形成树结构。
$(document).ready(function() {
$("#tree").dynatree({
checkbox: true,
classNames: {checkbox: "dynatree-radio"},
hasChildren:true,
selectMode: 1,
onDblClick: function(node, event) {
node.toggleSelect();
},
onKeydown: function(node, event) {
if( event.which == 32 ) {
node.toggleSelect();
return false;
}
},
<%=codesJSON%>
});
});
可以使用单选按钮选择节点。 我想在树完全加载时只选择子节点,而父节点只是为了可见性。我尝试使用不可选择的属性,但它似乎并不适用于我的情况。
有没有办法实现这一目标。
请帮助谢谢...
为它设置一个jsfiddle - http://jsfiddle.net/jegadeesb/zRPfx/2/
答案 0 :(得分:1)
设置选项isFolder: true
和unselectable : true
离
$(function() {
// Variant 1:
$("span.dynatree-edit-icon").live("click", function(e) {
alert("Edit " + $.ui.dynatree.getNode(e.target));
});
$("#tree").dynatree({
checkbox : true,
classNames : {
checkbox : "dynatree-radio"
},
onActivate : function(node) {
// $("#info").text("You activated " + node);
},
onRender : function(node, nodeSpan) {
$(nodeSpan)
.find('.dynatree-icon')
.before('<span class="dynatree-icon dynatree-edit-icon"></span>');
},
// Variant 2:
onClick : function(node, e) {
if ($(e.target).hasClass("dynatree-edit-icon")) {
$("#info").text("You clicked " + node + ", url=" + node.url);
}
},
children : [{
title : "Item 1"
}, {
title : "Folder 2",
isFolder : true,
unselectable : true,
children : [{
title : "Sub-item 2.1"
}, {
title : "Sub-item 2.2"
}]
}, {
title : "Item 3"
}]
});
});
演示:Fiddle
来自the doc
isFolder:false,//使用文件夹图标。节点也是可扩展的 不可选择。
unselectable:false,//防止选择。