Pergunta

Eu estou indo para trás sobre um projeto recente resolvendo problemas de acessibilidade e foi certificando-se de todos os elementos de formulário tinha etiquetas. Colocar o texto do rótulo em uma tag causou um problema com algum código kludgy eu tinha escrito antes.

Basicamente, se você tem um botão de rádio e com a etiqueta:

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

E você usar jquery para escondê-lo assim:

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

O botão real está escondido, mas não o texto do rótulo. Originalmente eu fiz um intervalo para o texto do rótulo e escondeu que gosta assim:

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

e

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

Todas as idéias? Eu prefiro não usar o kludge e não pode validar com o período no rótulo, mas talvez eu estou sendo excessivamente zelosos.

Foi útil?

Solução

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

funciona para mim

Outras dicas

Eu acho que isso deve funcionar para você

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

Isso seleciona o rótulo com a "para" conjunto de atributos para o botão de rádio você está procurando, assim como o próprio botão de rádio, e se esconde ambos

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

Para o primeiro botão de opção, você pode ocultar o botão real e, em seguida, sua parent:

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

Para o segundo caso, você pode ocultar o botão e da " próxima " irmão:

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

Você pode fazer isso:

1.) Definir a entrada de botão de rádio sem rótulo circundante.

2.) Enrole a "text opção" (texto à direita do botão de rádio) em um <span>.

3) Use esta declaração jQuery:. $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

Isso irá selecionar o botão de rádio e de texto à direita do botão de rádio e escondê-lo.

Basta colocar selector 'label' no pai:

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

meu exemplo jsFiddle

escondendo rádio recipiente botão ou TD com base no valor

jQuery ( "input [type = rádio] [valor = 'UE2']") progenitor () ocultar ();..

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top