【问题标题】:disable preselected checkbox禁用预选复选框
【发布时间】:2014-06-13 05:50:55
【问题描述】:

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

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 编程的新手,请提出建议。任何帮助将不胜感激。

【问题讨论】:

  • 您应该使用setAttribute 而不是document.getElementById('" + CheckBoxId + "').disabled ="disabled";document.getElementById('" + CheckBoxId + "').setAttribute('disabled', 'disabled');

标签: javascript asp.net checkbox registerstartupscript


【解决方案1】:

您需要使用 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;

【讨论】:

    猜你喜欢
    • 2020-10-21
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 2018-11-15
    • 2012-01-19
    • 1970-01-01
    相关资源
    最近更新 更多