ポストバックなしでチェックボックスのテキストを変更するにはどうすればよいですか?
<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />
クライアントでチェックボックスがクリックされたときに、テキストを「開く」または「閉じる」に切り替えたいと思います。
ポストバックなしでチェックボックスのテキストを変更するにはどうすればよいですか?
<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />
クライアントでチェックボックスがクリックされたときに、テキストを「開く」または「閉じる」に切り替えたいと思います。
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 チェックボックスを使用する