使用ajax时,Dynatree忽略select属性
Dynatree ignores select property when using ajax
我正在使用dynatree插件来显示一个复选框树,使用多选择模式(模式3)。
当使用ajax初始化树(没有延迟加载)时,似乎忘记了一些节点是初始选择加载的。当我选择其中一个节点时,传递到onSelect处理程序的标志值为true,即:它认为我想选择节点。
当我再次点击复选框时,它会取消选择。似乎在后台,选择是不注册,直到我物理点击复选框。我想用这个节点加载树,这个节点已经选择了。
我用来加载树的json对我来说很好;select属性对于所讨论的节点(根节点)为真。下面是JSON的一个片段:
{
"expand":true,
"title":"All",
"isFolder":false,
"key":"0",
"isLazy":false,
"addClass":null,
"select":true,
"unselectable":false,
"children": [... omitted for clarity]
}
我是这样加载树的:
$("#locationsTree").dynatree({
checkbox: true,
selectMode: 3,
initAjax: {
type: "POST",
url: dynaTreeInitUrl
},
classNames:
{
nodeIcon: ""
}
});
其中dynaTreeInitUrl是返回json.
的url。如果我像这样硬编码JSON:
$("#locationsTree").dynatree({
checkbox: true,
selectMode: 3,
children: {
"expand":true,
"title":"All",
"isFolder":false,
"key":"0",
"isLazy":false,
"addClass":null,
"select":true,
"unselectable":false,
"children": [{
"expand": true,
"title": "Child",
"isFolder": false,
"key": "1",
"isLazy": false,
"addClass": null,
"select": true,
"unselectable": true,
"children": []
}]
},
classNames:
{
nodeIcon: ""
}
});
它的工作原理。:/
更新:
我发现了发生这种情况的原因:
这是dynatree中的一个错误-或者可能是故意的行为,它试图太聪明。
如果子节点具有unselectable = true,则在加载子节点时父节点将被取消选择,即使父节点具有select = true。这使得不可能创建一个选择分层的树-即:如果选择父节点,则所有子节点都被自动选择,并且不能取消选择。我想这可以添加到dynatree作为另一个"模式"。
我发现了发生这种情况的原因:
这是dynatree中的一个错误-或者可能是故意的行为,它试图太聪明。
如果子节点具有unselectable = true,则在加载子节点时父节点将被取消选择,即使父节点具有select = true。这使得不可能创建一个选择分层的树-即:如果选择父节点,则所有子节点都被自动选择,并且不能取消选择。我想这可以添加到dynatree作为另一个"模式"。
您可以使用以下代码:
onPostInit: function() {
$.map(this.getSelectedNodes(), function(node){
node.makeVisible();
});
}
Dynatree展开选定节点的父节点
- jquery点击函数select&取消选择
- 我如何找到一个句子中的所有空格并替换忽略它们
- 在html Select中添加搜索
- Jquery:未触发select事件
- 如何在PHP中使用$_POST获取Select元素值
- 无法在Ionic select中预先选择最后一个选项
- 为什么忽略了eval()代码中的语法错误
- Dojo:访问dijit.form.Select中单击的项目
- X秒后刷新select元素
- 根据select选项元素将表单重定向到不同的URL
- 在select元素中显示highchart dashstyle(svg)
- jQuery.when()在循环中被忽略
- jQuery动态表单显示在select选项上
- Javascript Select OnChange没有'不要第二次工作
- 更改基于它的Select OPTION's INDEX(Jquery)
- JavaScript+addEventListener'单击'在select html对象上忽略
- ie9忽略select's选项的display none
- 如何在jquery中触发select的更改时忽略大小写(上/下)
- Angular ui-select,忽略选项中的空项
- 使用ajax时,Dynatree忽略select属性