2009-03-13 5 views
7

Wracam do ostatniego projektu porządkującego problemy z dostępnością i upewniłem się, że wszystkie elementy formularza mają etykiety. Umieszczenie tekstu etykiety w tagu spowodowało problem z jakimś kludgy kodem, który napisałem wcześniej.Przycisk ukrywania() * i * jego etykieta tekstowa w jquery

Zasadniczo, jeśli masz przycisk radiowy i jego etykiecie:

<label for="zone_r1"><input type="radio" name="zone" id="zone_r1" value="NY" />New York</label> 

I użyć jQuery aby ukryć go tak:

$('#zone_r1').hide(); 

Rzeczywista przycisk jest ukryty, ale nie tekst etykiety . Początkowo zrobiłem rozpiętość do tekstu etykiety i ukrywała, że ​​tak:

<input id="NY" type="radio" name="zone" value="NY" /><span id="nyTXT">New York</span> 

i

$('#NY').hide(); 
$('#nyTXT').hide(); 

Jakieś pomysły? Wolę nie używać kludge i może nie sprawdzić poprawności w zakresie etykiety, ale może jestem zbyt gorliwy.

Odpowiedz

12
$('#zone_r1').parent().hide(); 

działa na mnie

1

co $('label:has(#zone_r1)').hide();

2

Na pierwszy przycisk, można ukryć rzeczywisty przycisk, a następnie jego parent:

$('#zone_r1').hide().parent().hide(); 

Na drugim przypadku można ukryć przycisk i "rodzeństwo":

$('#NY').hide().next().hide(); 
21

myślę, że to powinno działać dla ciebie

$("label[for=zone_r1],#zone_r1").hide(); 

ten wybiera etykietę z „do” zestawu atrybutów przycisku radiowego szukasz, jak również samego przycisku radio i ukrywa je zarówno

0

można to zrobić:

1) Określić wejście przycisku radiowego bez otaczającego etykiety.

2.) Owiń "tekst opcji" (tekst po prawej stronie przycisku opcji) w postaci <span>.

3.) Za pomocą tego komunikatu jQuery: $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

Ten wybierze opcję i tekst po prawej stronie przycisku radiowego i ukryć go.

0

Wystarczy umieścić 'etykieta' selektor w dominującej:

$(':radio[id=zone_r1]').parent('label').hide(); 

Zobacz my jsFiddle example

+1

Nie wiem, dlaczego uważasz, że musisz odpowiedzieć na to bardzo stare i już odpowiedział na pytanie, i ogłusza mnie, że faktycznie napisał selektor zawierający '[id = ...]'. To jest ID. Wiesz: '# zone_r1'. – SoonDead

0

ukrywanie pojemnik przycisk radiowy lub TD na podstawie wartości

jQuery ("input [type = radio] [wartość = 'EU2'] "). Parent().ukryć();