我有一个ASP MVC Web应用程序,在其中一个页面上有一组主复选框,其下有子复选框。只有当相应的主复选框被选中时,子复选框才会显示。只要没有任何复选框在页面加载时被选中,我就可以使用以下代码。在页面加载时基于复选框值的jQuery显示
$("input[id$=Suffix]").change(function() {
prefix = this.id;
if (!$(this).hasClass("checked")) {
$("tr[id^=" + prefix + "]").show();
$(this).addClass("checked");
}
else {
$("tr[id^=" + prefix + "]").hide();
$(this).removeClass("checked");
}
});
现在我需要检查数据库的主复选框的值。我得到的值,并可以检查页面加载框。但是当页面出现时,当复选框被选中时,子复选框不会显示。此外,如果在加载页面时选中主复选框,则只有在取消选中主chcekbox时显示子复选框(显然是因为上述函数仅对.change())起作用。
你们都建议我试试?如果您需要进一步解释,请随时询问。
编辑:顺便说一句,这一切都是在$(文件)。就绪()
如何从数据库中获取检查值并设置主复选框? AJAX调用和dom?还是asp脚本? – edl 2010-05-21 20:16:13
我只是使用Model(LINQ to SQL)来检查数据库,然后从我的控制器中设置ViewData。 – 2010-05-21 20:18:56
由于您有关于“父”复选框是否已选中或未在服务器端(呈现时)的信息,为何不将“子复选框”呈现为正确的(可见或隐藏)状态,而不是尝试触发他们的客户端? – R0MANARMY 2010-05-21 22:57:03