在MVC 4中,我使用jstree。在创建操作中我没有问题。但是在编辑操作中,我将true
值设置为某些treemodel项。模型就像:
public class RecursiveObject
{
public string data { get; set; }
public Int64 id { get; set; }
public FlatTreeAttribute attr { get; set; }
public List<RecursiveObject> children { get; set; }
}
public class FlatTreeAttribute
{
public string id;
public bool selected;
}
当我填写树模型时,我将selected = true;
设置为某些项目并在视图中使用它:
json_data: {
"ajax": {
url: "@Url.Action("GetTreeData", "MyController")",
type: "POST",
dataType: "json",
contentType: "application/json charset=utf-8"
}
},
但是在视野中,所有项目都未经检查。我看到一些<li>
标记有selected = "selected"
,但这不会影响它的检查。
当我手动检查项目 时,jstree-unchecked
会更改为jstree-checked
课程。这意味着selected = "selected"
不起作用。
我该如何解决这个问题?
答案 0 :(得分:1)
我找到了解决问题的方法。
.bind("loaded.jstree", function (event, data) {
$('li[selected=selected]').each(function () {
$(this).removeClass('jstree-unchecked').addClass('jstree-checked');
});
});