jsTree 3 - 如何在不选择项目的情况下预先检查它
jsTree 3 - How do I pre-check an item without selecting it
我正在使用 jsTree 3 并尝试根据标准预先检查一些行。
这是我配置树的方法:-
$(function () {
$("#ProductInterests").jstree
({
"core" : { "themes" : { "icons" : false }},
"plugins": ["themes", "html_data", "checkbox"]
});
});
然后我在网上其他地方找到了三个建议的解决方案(if 的前半部分应该导致检查节点,第二部分应该导致未检查节点):-
<ul>
@foreach (var productGroup in ViewBag.ProductGroups)
{
<li class="jstree-open">@productGroup.Name
<ul>
@foreach (var product in productGroup.Products)
{
if (Model.LeadProductInterests.Any(lpi => lpi.ProductID == product.ID))
{
<li data-jstree='{"selected":true}'>@product.Name</li>
<li data-jstree='{"state":{"checked":true}}'>@product.Name</li>
<li class="jstree-checked">@product.Name</li>
}
else
{
<li data-jstree='{"selected":false}'>@product.Name</li>
<li data-jstree='{"state":{"checked":false}}'>@product.Name</li>
<li>@product.Name</li>
}
}
</ul>
</li>
}
</ul>
在这三种方法中,第一种方法导致节点被选中和检查。第二个和第三个导致既未选择也未检查的节点。我想得到一个选中但未选中的节点。
从存储库获取最新代码 - 这是一个已知错误,现已修复。另请记住,为了单独检查和选择集合,您需要将 checkbox.tie_selection
设置为 false
(如下面的 fiddle 所示)。
一旦你得到最新的副本(不是 3.1.1,而是实际的 repo 代码:https://github.com/vakata/jstree/archive/master.zip)你可以使用这个:
<li data-jstree='{"checked":true}'>@product.Name</li>
我正在使用 jsTree 3 并尝试根据标准预先检查一些行。
这是我配置树的方法:-
$(function () {
$("#ProductInterests").jstree
({
"core" : { "themes" : { "icons" : false }},
"plugins": ["themes", "html_data", "checkbox"]
});
});
然后我在网上其他地方找到了三个建议的解决方案(if 的前半部分应该导致检查节点,第二部分应该导致未检查节点):-
<ul>
@foreach (var productGroup in ViewBag.ProductGroups)
{
<li class="jstree-open">@productGroup.Name
<ul>
@foreach (var product in productGroup.Products)
{
if (Model.LeadProductInterests.Any(lpi => lpi.ProductID == product.ID))
{
<li data-jstree='{"selected":true}'>@product.Name</li>
<li data-jstree='{"state":{"checked":true}}'>@product.Name</li>
<li class="jstree-checked">@product.Name</li>
}
else
{
<li data-jstree='{"selected":false}'>@product.Name</li>
<li data-jstree='{"state":{"checked":false}}'>@product.Name</li>
<li>@product.Name</li>
}
}
</ul>
</li>
}
</ul>
在这三种方法中,第一种方法导致节点被选中和检查。第二个和第三个导致既未选择也未检查的节点。我想得到一个选中但未选中的节点。
从存储库获取最新代码 - 这是一个已知错误,现已修复。另请记住,为了单独检查和选择集合,您需要将 checkbox.tie_selection
设置为 false
(如下面的 fiddle 所示)。
一旦你得到最新的副本(不是 3.1.1,而是实际的 repo 代码:https://github.com/vakata/jstree/archive/master.zip)你可以使用这个:
<li data-jstree='{"checked":true}'>@product.Name</li>