0

我有这些代码行,它们根据预选标志选择复选框

if (objX.PreSelected)
{
    string js = "if(document.getElementById('" + CheckBoxId + "').checked==false) document.getElementById('" + CheckBoxId + "').click();";
    if (!Page.ClientScript.IsStartupScriptRegistered(CheckBoxId))
         Page.ClientScript.RegisterStartupScript(this.GetType(), CheckBoxId, js, true);
}

完成此操作后,我需要禁用该预选复选框。我在下面尝试过,但没有用

string js = "if(document.getElementById('" + CheckBoxId + "').checked==false) {document.getElementById('" + CheckBoxId + "').click();document.getElementById('" + CheckBoxId + "').disabled ='disabled';}";

更新 - 我可以禁用该复选框,但问题是它没有发送回服务器。我是 asp.net 编程的新手,请提出建议。任何帮助将不胜感激。

4

1 回答 1

0

你需要用javascript来做这个吗?否则,您可以执行以下操作:

if (objX.PreSelected)
{
    checkBox.Checked = true;
    checkBox.Enabled = false;
}

或者

checkBox.Checked = objX.PreSelected;
checkBox.Enabled = objX.PreSelected == false;

要使用 JavaScript 禁用 CheckBox,您可以编写

document.getElementById('id').disabled = 'disabled';

或者

document.getElementById('id').disabled = true;

无需同时执行 .click() 和 .checked = true;

于 2014-06-10T08:58:29.940 回答