C#javascript启用/禁用复选框

本文关键字:复选框 启用 C#javascript | 更新日期: 2023-09-27 17:59:20

我在C#代码绑定中动态创建了一些复选框。比方说两列。这很好用。

我希望左栏中的复选框在选中时启用/禁用右侧的复选框。我通过将属性附加到运行javascript的codeehind中的复选框来实现启用/禁用。这很管用。

这是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中设置了警报,它们总是出现。。。事情似乎已经安排好了。当我删除codeehind中的CheckBox.Enabled = false;时,它又工作了。

事实上,我可以在启用复选框和相应的右侧复选框的情况下启动一些左侧复选框。当我运行时,启动时启用的集合运行得很好,但启动时禁用右侧复选框的集合则不然。

除了Enabled之外,我是否应该在codeehind中设置其他内容,以在禁用状态下启动复选框,然后javascript可以更改这些复选框?与"禁用"相比,这是一个正确/错误的问题吗?我都试过了。

C#javascript启用/禁用复选框

尝试添加"disabled"属性。即

CheckBox.Attributes["disabled"] = "disable";

无论如何,我认为最好使用.removeAttribute("diabled")方法,而不是将其值设置为空字符串。

我在这里找到了答案:http://forums.asp.net/t/982967.aspx/1.

我不得不将document.getElementById(target).parentElement.disabled = dis;添加到我的javascript函数中。现在一切如预期。谢谢大家的建议。