C #javascript启用/禁用复选框

时间:2011-06-17 14:39:11

标签: c# checkbox code-behind

我在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可以更改吗?与“禁用”相比,这是真/假吗?我试过了两个。

2 个答案:

答案 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;。一切都按预期工作了。感谢大家的建议。