在 Client 端讓 CheckBox 文字變色

要在 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';   }";

 


Dev 2Share @ 點部落