Die überprüfung, ob radio-buttons überprüft, in Firefox

Auf meiner Seite, ich habe zwei Checkboxen erstellt, in meinem ASP.NET MVC-Ansicht etwa so:

Html.RadioButton("check", "true", "true" == (string) ViewData["someKey"], new { id = "check1"});
Html.RadioButton("check", "false", "false" == (string) ViewData["someKey"], new { id = "check2"});

Ich bin überzeugt, dass ViewData["someKey"] hat den Wert "true" enthält.

In meiner JS-init-Funktion, führe ich die folgenden check:

alert($('#check1').is(':checked') + " " + $('#check2').is(':checked'));

In Firefox (und nur Firefox), mein alert-dialog zeigt die folgenden (es funktioniert, wie erwartet, in jedem anderen browser):

Initial page load: true false
Normal refresh via Ctrl + R: false false
Refresh skipping cache via Ctrl + Shift + R: true false

Ich habe versucht, viele verschiedene Methoden zu betrachten, die checkbox-Wert, einschließlich $('#check1').attr('checked') ohne Erfolg. Wenn ich untersuchen den HTML-Code in Firebug kann ich sehen, dass die erste radio-button hat die Eigenschaft checked="checked" im es.

Warum ist die checkbox Wert ändern in FF, wenn ich aktualisieren und wie kann ich dies vermeiden? Da dies scheint eine FF-only-bug, wie kann ich meinen code, damit es funktioniert?

Diese Frage ALSO schien zu Fragen, etwas ähnliches, aber keine der vorgeschlagenen Lösungen scheinen zu funktionieren in diesem Fall.

Bearbeiten: ich sollte auch darauf hinweisen, dass, wenn der radio-button gerendert wird nach dem aktualisieren in FF, es ist eigentlich nicht angezeigt als aufgegebenes entweder, trotz allem, was HTML ist mir zu sagen.

Edit2: Hinzufügen von raw-HTML wie pro Antrag

<input id="check1" type="radio" value="True" name="check" checked="checked"/>
<input id="check2" type="radio" value="False" name="check"/>
InformationsquelleAutor Andrew Song | 2009-10-09
Schreibe einen Kommentar