Ich habe eine Gruppe von Optionsfeldern, die ich deaktivieren möchte, nachdem ein AJAX-Formular mit jQuery gesendet wurde. Ich habe folgende Funktion:
function clearForm(){
$('#frm input[type="text"]').each(function(){
$(this).val("");
});
$('#frm input[type="radio":checked]').each(function(){
$(this).checked = false;
});
}
Mit Hilfe dieser Funktion kann ich die Werte in den Textfeldern löschen, aber ich kann die Werte der Optionsfelder nicht löschen.
Übrigens habe ich es auch versucht, $(this).val("");
aber das hat nicht funktioniert.
javascript
jquery
radio-button
dynamic-forms
Systemfehler
quelle
quelle
Antworten:
entweder (plain js)
oder (jQuery)
Siehe jQuery prop () Hilfeseite für eine Erklärung auf der Differenz zwischen attr () und Stütze () und warum Stütze () ist nun vorzuziehen.
prop () wurde im Mai 2011 mit jQuery 1.6 eingeführt.
quelle
prop()
, während.attr()
es auf die tatsächlichen Attribute beschränkt sein wirdSie würden die
each
Funktion nicht brauchenOder
Gleiches sollte auch für Ihr Textfeld gelten:
Aber Sie könnten dies verbessern
quelle
Versuchen
Da viele Browser 'checked = irgendetwas' als wahr interpretieren. Dadurch wird das aktivierte Attribut vollständig entfernt.
Hoffe das hilft.
quelle
Leichte Modifikation von Laurynas 'Plugin basierend auf Igor's Code. Dies berücksichtigt mögliche Beschriftungen, die mit den Zielknöpfen verknüpft sind:
quelle
Danke Patrick, du hast meinen Tag gemacht! Es ist Mousedown, das Sie verwenden müssen. Ich habe den Code jedoch verbessert, damit Sie mit einer Gruppe von Optionsfeldern umgehen können.
quelle
Schreiben Sie den Code von Igor als Plugin um.
Verwenden:
Plugin:
quelle
Für Radio und Radiogruppe:
quelle
Versuchen Sie dies, dies wird den Trick tun:
quelle
Versuchen
quelle
Sie können das Radiobutton-Verhalten auch nur mit Kontrollkästchen simulieren:
Dann können Sie diesen einfachen Code verwenden, um für Sie zu arbeiten:
Es funktioniert einwandfrei und Sie haben mehr Kontrolle über das Verhalten jeder Schaltfläche.
Sie können es selbst versuchen unter: http://jsfiddle.net/almircampos/n1zvrs0c/
Mit dieser Gabel können Sie auch alle abwählen, wie in einem Kommentar gefordert: http://jsfiddle.net/5ry8n4f4/
quelle
Geben Sie einfach den folgenden Code für jQuery ein:
Und für Javascript:
Es ist nicht erforderlich, eine foreach-Schleife, .each () -Fubktion oder etwas anderes zu platzieren
quelle
Benutze das
quelle
Das ist fast gut, aber du hast die [0] verpasst.
Richtig - >>
$(this)[0].checked = false;
quelle
this.checked = false;
Mit dieser JQuery können Sie den Radiobutton deaktivieren
quelle
: D.
quelle
Jedes Mal, wenn Sie in einem aktivierten Radio einen Doppelklick ausführen, ändert sich das Kontrollkästchen in false
Meine Radios beginnen mit,
id=radxxxxxxxx
weil ich diesen ID-Selektor verwende.quelle
Der richtige Selektor ist:
#frm input[type="radio"]:checked
nicht#frm input[type="radio":checked]
quelle