2010-12-16 41 views
2

即時通訊設法樣式我的單選按鈕。.Net Radiobutton類

但是當我用firbug編譯並檢查代碼時會發生一些奇怪的事情。

mycode的:

<asp:RadioButton ID="selType1" GroupName="Type" runat="server" CssClass="radioB" Checked="true" /> 

螢火蟲:

<span class="radioB"> 
    <input id="ctl00_ctl00_BodyContentHolder_TestController_1_selType1" name="ctl00$ctl00$BodyContentHolder$TestController_1$Type" value="selType1"` checked="checked" type="radio"> 

出於某種原因,SPAN標籤獲取類的名稱,而不是INPUT標記。

任何人都知道這是爲什麼?

THX Marthin

回答

1

我有同樣的問題,這是你分配給單選按鈕,獲得風格的文本字符串。

爲了解決這個問題,我編寫了一個JQuery腳本,它在窗體的負載上獲取父跨度類。

複選框也有同樣的問題。 這裏是我的腳本:

$("input[type=checkbox]").each(function() { 
       $(this).attr("class", $(this).parent().attr("class")); 
       $(this).parent().attr("class", ""); 
      }); 

也許你想例如定製只需添加的類的單選按鈕不是從父跨度取出

+0

thx求救! – Marthin 2010-12-17 17:16:23

4

我對爲什麼要創建一個跨度類在輸入元素的一個理論。如果有多個相同類名的輸入彼此相鄰,那麼它可能會創建一個跨度來覆蓋它們,而不是爲它們兩個指定class =「radioB」。已知ASP.NET組件會吐出一些醜陋的HTML。

這裏有一個解決方案,使輸入元素上radioB類的工作,修改CSS以下列方式radioB類:

.radioB input 
{ 
    ... 
} 

但有可能是你另一種解決方案,請嘗試以下代碼:

selType1.InputAttributes["class"] = "radioB"; 
+0

+1:您的建議設置類的名字爲我工作。 – kgiannakakis 2011-05-23 08:11:16