单击时更改asp:CheckBox的文本

时间:2009-01-09 22:11:17

标签: asp.net javascript checkbox

如何在没有回发的情况下更改CheckBox的文本?

<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />

我希望在客户端点击CheckBox时将文本切换为“打开”或“关闭”。

3 个答案:

答案 0 :(得分:9)

function changeCheckboxText(checkbox)
{
  if (checkbox.checked)
    checkbox.nextSibling.innerHTML = 'on text';
  else
    checkbox.nextSibling.innerHTML = 'off text';
}

称为:

<asp:CheckBox runat="server" ID="chkTest" onclick="changeCheckboxText(this);" />

仅供参考,更改复选框标签的文本通常是不好的做法,因为它会使用户感到困惑。

答案 1 :(得分:2)

如果你有兴趣使用像jQuery这样的框架javascript,我提出了一个解决方案:

$("input[id$=CheckBox1]").click(function() {
    if ($(this).attr("checked")) { 
        $(this).next("label:first").text("Open");
    }
    else {
        $(this).next("label:first").text("Close");
    }
});

答案 2 :(得分:1)

3个简单选项

使用JavaScript更改文本客户端 - 通过在.CS类中注册事件,如下所示:

CheckBox1.Attributes.Add("JavaScipt")

使用带有JQuery

的HTML复选框

或者加入Ajax Update Panel

Some AJax starter Videos