我在C#codebehind中动态创建了一些复选框。我们先说两列。这很好。
我希望左栏中的复选框在检查时启用/禁用右侧的复选框。我通过将属性附加到运行javascript以执行启用/禁用的代码隐藏中的复选框来执行此操作。这很有效。
这是javascript:
function SetPrimaryStatus(target, senders) {
var dis = "disable";
var arr = senders.split(",");
for (var i = 0; i < arr.length; i++) {
if (document.getElementById(arr[i]).checked == true) {
dis = "";
break;
}
}
document.getElementById(target).disabled = dis;
if (dis == "disable") document.getElementById(target).checked = false;
}
我以为我是免费的家...我必须在代码隐藏(CheckBox.Enabled = false;
)中创建后禁用右列复选框。确定。
无论出于何种原因,当我选中左边的复选框时,右边的复选框什么都不做。我已经在javascript中设置了警报,它们总是会出现......事情看起来像是应该设置的。当我删除代码隐藏中的CheckBox.Enabled = false;
时,它会再次运行。
事实上,我可以通过支票启动一些左侧复选框,并启用相应的右侧复选框。当我运行启动启动的设备时,工作完美,但禁用右复选框启动的设置不会。
除了Enabled之外,我应该设置代码隐藏以启动禁用状态下的复选框,以便javascript可以更改吗?与“禁用”相比,这是真/假吗?我试过了两个。
答案 0 :(得分:0)
尝试添加“已禁用”属性。即。
CheckBox.Attributes["disabled"] = "disable";
无论如何,我认为最好使用.removeAttribute("diabled")
方法,而不是将其值设置为空字符串。
答案 1 :(得分:0)
我在这里找到答案:http://forums.asp.net/t/982967.aspx/1。
我必须在我的javascript函数中添加document.getElementById(target).parentElement.disabled = dis;
。一切都按预期工作了。感谢大家的建议。