如何在没有回发的情况下更改 CheckBox 的文本?
<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />
当在客户端上单击 CheckBox 时,我想将文本切换为“打开”或“关闭”。
如何在没有回发的情况下更改 CheckBox 的文本?
<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />
当在客户端上单击 CheckBox 时,我想将文本切换为“打开”或“关闭”。
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);" />
仅供参考,更改复选框标签的文本通常是不好的做法,因为它往往会使用户感到困惑。
如果您有兴趣使用像 jQuery 这样的框架 javascript,我提出了一个解决方案,如下所示:
$("input[id$=CheckBox1]").click(function() {
if ($(this).attr("checked")) {
$(this).next("label:first").text("Open");
}
else {
$(this).next("label:first").text("Close");
}
});
3 个简单的选项
使用 JavaScript 更改文本客户端 - 通过在 .CS 类中注册事件,如下所示:
CheckBox1.Attributes.Add("JavaScipt")
使用带有JQuery的 HTML 复选框
或者放入一个Ajax 更新面板