如何在没有回发的情况下更改CheckBox的文本?
<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />
我希望在客户端点击CheckBox时将文本切换为“打开”或“关闭”。
答案 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复选框