要在 Client 端改變 CheckBox 物件的屬性有其困難之處。因為 ASP.NET 在 Render 之後,會讓 CheckBox 變成 Span 及 Label 物件,而其文字是放在 Label 物件內,但卻又不會給予它任何 ID。我相信凡是做過這件事的人都有深刻的體會...
要在 Client 端改變 CheckBox 物件的屬性有其困難之處。因為 ASP.NET 在 Render 之後,會讓 CheckBox 變成 Span 及 Label 物件,而其文字是放在 Label 物件內,但卻又不會給予它任何 ID。我相信凡是做過這件事的人都有深刻的體會。
解決之道,是使用 JavaScript 的 nextSibling 指令來找出 Label 物件,再去更改它。如以下的範例程式:
CheckBox1.Attributes.Add("onclick", "this.nextSibling.hideFocus=true; if (this.checked) { this.nextSibling.style.color='red'; } else { this.nextSibling.style.color='black'; }";