如何在沒有回發的情況下更改CheckBox的文本?單擊時更改asp:CheckBox的文本
<asp:CheckBox ID="CheckBox1" runat="server" Text="Open" />
我想切換文本閱讀「打開」或「關閉」點擊客戶端上的複選框時。
如何在沒有回發的情況下更改CheckBox的文本?單擊時更改asp:CheckBox的文本
<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);" />
僅供參考,它通常是不好的做法更改複選框標籤的文本,因爲它往往會混淆用戶。
3個簡單的選項
使用JavaScript更改文本客戶副作用通過註冊事件的.CS類,像這樣:
CheckBox1.Attributes.Add("JavaScipt")
使用HTML複選框以JQuery
或者放入一個Ajax Update Panel
如果你有興趣使用框架的Javascript如jQuery,我提出了一個解決方案ILKE這樣的:
$("input[id$=CheckBox1]").click(function() {
if ($(this).attr("checked")) {
$(this).next("label:first").text("Open");
}
else {
$(this).next("label:first").text("Close");
}
});
第一個選項不起作用。輸入[type = checkbox]沒有文本屬性。 – 2009-01-09 22:58:31
我的不好確實創建了一個帶有「for」屬性的標籤,我認爲這個標籤已被複制到標籤的複選框中,但我錯了 – cgreeno 2009-01-10 00:52:05