2010-12-16 14 views
2

Ich versuche, meine Radiobutton style..Net Radiobutton Klasse

Aber etwas komisches geschieht, wenn ich den Code mit firbug kompiliere und prüfe.

MyCode:

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

Firebug:

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

Aus irgendeinem Grund wird der SPAN-Tag den Namen der Klasse, nicht die INPUT-Tag.

Wer weiß, warum das ist?

Thx Marthin

Antwort

1

Ich hatte das gleiche Problem, es ist die Zeichenfolge, die Sie Radio-Button, die den Stil bekommen zugewiesen.

Zur Lösung dieses Problems habe ich ein JQuery-Skript geschrieben, das die elterliche Span-Klasse beim Laden des Formulars abruft.

Checkbox hat auch das gleiche Problem. Hier ist mein Skript:

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

Vielleicht möchten Sie es zum Beispiel anpassen nur das Hinzufügen der Klasse auf die RadioButton- nicht aus Mutter Spanne

+0

Danke für die Hilfe! – Marthin

4

Ich habe eine Theorie darüber, warum sie will eine Spannweite mit der Klasse über das Eingangselement schaffen. Wenn es mehr als eine Eingabe mit dem gleichen Klassennamen nebeneinander gibt, dann könnte auch ein Bereich erstellt werden, um beide abzudecken, anstatt für beide Klassen = "radioB" anzugeben. ASP.NET-Komponenten sind bekannt, einige hässliche HTML auszuspucken.

Hier ist eine Lösung, die die radioB Klasse Arbeit an dem Eingangselement zu machen, die CSS für die radioB Klasse in der folgenden Art und Weise ändern:

.radioB input 
{ 
    ... 
} 

Aber es kann eine andere Lösung für Sie sein, probieren Sie die folgenden code:

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

+1 Entfernung: Ihr was darauf hindeutet, für die Einstellung der Klassenname für mich arbeitet. – kgiannakakis