【发布时间】:2015-06-07 01:54:06
【问题描述】:
我目前正在制作一个 C# MVC 应用程序,其中我使用 jsTree 作为 UI 元素之一。我在 jsTree 中使用复选框。我已经可以检索所有选定的值并将它们传递给我的控制器,让它做它的事情,没有问题。
但是我在加载网页时无法填充 jsTree。目前我有这个代码:
@foreach (var obj in listServers)
{
<li id="root_@obj.DBServerID">
@obj.DBServerName
<ul>
@{
System.Data.DataSet myDS = Model.findDataBasesByServerID(obj.DBServerID);
foreach (System.Data.DataRow row in myDS.Tables[0].Rows)
{
if (dbRepos.isThisDatabaseSelectedForThisUser(Model.LoginID, obj.DBServerID, nameOfDB) == true) //true -> user has selected this earlier and needs to be selected
{
<li class="jstree-clicked get_checked" id="@(obj.DBServerID)_@nameOfDB">@nameOfDB </li>
}
else //false -> user hasn't selected this earlier. Make a normal, unchecked checkbox
{
<li id="@(obj.DBServerID)_@nameOfDB">@nameOfDB </li>
}
}
}
</ul>
</li>
}
代码只能部分工作。自然地,我的 jsTree 做得很好,但没有检查默认值。问题不在于我的 isThisDatabaseSelectedForThisUser 方法,因为我调试并测试了它。它按预期工作。我猜
【问题讨论】:
-
根据我从演示中看到的,
li中的anchor标记得到jstree-clicked类而不是li标记。请参阅以下 HTML<a class="jstree-anchor jstree-clicked" href="#" tabindex="-1" id="j2_2_anchor"><i class="jstree-icon jstree-checkbox" role="presentation"></i><i class="jstree-icon jstree-themeicon" role="presentation"></i>initially selected</a>所以我认为您需要相应地重组您的 HTML..
标签: c# jquery html checkbox jstree