hide () Radio-Taste * und * seine Beschriftung in jquery
-
22-07-2019 - |
Frage
Ich gehe zurück über ein aktuelles Projekt Fragen des Zugänglichkeit Aussortieren und wurde dafür, dass alle Formularelemente Etiketten hatten. Putting den Beschriftungstext in einen Tag verursachte ein Problem mit einigen kludgy Code, den ich zuvor geschrieben hatte.
Grundsätzlich, wenn Sie ein Optionsfeld und seine Beschriftung:
<label for="zone_r1"><input type="radio" name="zone" id="zone_r1" value="NY" />New York</label>
Und Sie verwenden jquery, es zu verbergen, wie so:
$('#zone_r1').hide();
Die tatsächliche Taste versteckt, aber nicht den Beschriftungstext. Ursprünglich habe ich eine Spanne für den Beschriftungstext und versteckte sich, dass etwa so:
<input id="NY" type="radio" name="zone" value="NY" /><span id="nyTXT">New York</span>
und
$('#NY').hide();
$('#nyTXT').hide();
Irgendwelche Ideen? Ich möchte nicht die Flickschusterei verwenden, und es kann mit der Spanne in der Bezeichnung nicht bestätigen, aber vielleicht allzu eifrig mir zu sein.
Lösung
$('#zone_r1').parent().hide();
funktioniert für mich
Andere Tipps
Ich denke, das sollte für Sie arbeiten
$("label[for=zone_r1],#zone_r1").hide();
Dies wählt das Etikett mit der „für“ -Attribut auf den Radio-Button, geben Sie Ihre Suche, sowie die Radio-Button selbst, und versteckt sie beide
was ist $('label:has(#zone_r1)').hide();
Sie können dies tun:
1.) Definieren Sie das Optionsfeld Eingabe ohne umgebendes Etikett.
2.) Wickeln Sie den "Option Text" (Text rechts von der Radio-Button) in einem <span>
.
3) Verwenden Sie diese jQuery-Anweisung: $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();
Dies wird das Optionsfeld und den Text auf der rechten Seite der Optionsfeld auswählen und ausblenden.
Just put 'label' Wähler in parent:
$(':radio[id=zone_r1]').parent('label').hide();
Siehe mein jsFiddle Beispiel
Versteck Optionsfeld Container oder TD basierend auf dem Wert
jQuery ( "input [type = radio] [Wert = 'EU2']") parent () ausgeblendet ();..