我把dynatree和knockout一起使用。视图模型包含一个'isManager‘布尔型属性,我希望使用复选框来显示它。
问题是,在应用dynatree绑定之后,我似乎丢失了对isManager属性的绑定。
这就是问题所在:http://jsfiddle.net/markachten/UhA3m/
现在我不确定这是一个击倒问题还是一个动态问题。它会在绑定处理程序的定义中吗?当引用jsFiddle时,我必须在这里放入一些代码,我不确定粘贴整个代码是否方便……无论如何,它在绑定的定义中吗?
ko.bindingHandlers.dynatree = {
...
};或者我需要传入一些额外的绑定选项?
{
noLink: true,
minExpandLevel: 2
// what should go here?
}关于代码的一些附加注释:我被迫在dynatree中将'noLink‘属性设置为true。如果设置为false,则无法选中复选框。我在span中使用span来同时显示name和input元素。
谢谢!
发布于 2013-07-11 20:37:43
我认为这是dynatree的问题(我对jstree也是如此)。
这里的问题是,对于dynatree插件,为了能够绘制树,它需要向你的html添加新的元素。换句话说,it Restructure你的html。
您可以通过检查检查器中的结果html来检查这一点。你会发现你的data-bind已经不存在了!
因此,要解决这个问题,您需要将自定义绑定dynatree放在<ul>上
<div id="dynatree" data-bind="">
<ul data-bind="template: { name: 'itemTmpl', foreach: persons },dynatree: {}"></ul>
</div>https://stackoverflow.com/questions/17592256
复制相似问题