переключатель Hide () * и * его текстовая метка в jquery - PullRequest
8 голосов
/ 13 марта 2009

Я возвращаюсь к недавнему проекту, решающему проблемы доступности, и проверял, чтобы все элементы формы имели метки. Помещение текста метки в тег вызвало проблему с каким-то грязным кодом, который я написал ранее.

Как правило, если у вас есть переключатель и его метка:

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

И вы используете jquery, чтобы скрыть это так:

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

Фактическая кнопка скрыта, но не текст метки. Первоначально я сделал диапазон для текста метки и спрятал это так:

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

и

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

Есть идеи? Я предпочитаю не использовать kludge, и он может не соответствовать интервалу на этикетке, но, возможно, я слишком ревностен.

Ответы [ 7 ]

23 голосов
/ 13 марта 2009

Я думаю, что это должно работать для вас

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

Выбирает метку с атрибутом «for», установленным для переключателя, который вы ищете, а также сам переключатель, и скрывает их оба

13 голосов
/ 13 марта 2009
$('#zone_r1').parent().hide();

у меня работает

2 голосов
/ 13 марта 2009

Для первой радиокнопки вы можете скрыть фактическую кнопку, а затем ее parent :

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

Во втором случае вы можете спрятать кнопку и сестру « next »:

$('#NY').hide().next().hide();
2 голосов
/ 13 марта 2009

а как же $('label:has(#zone_r1)').hide();

0 голосов
/ 15 ноября 2016

скрытие контейнера переключателя или TD в зависимости от значения

JQuery ( "вход [тип = радио] [значение = 'EU2']") родитель () скрыть ();..

0 голосов
/ 24 апреля 2013

Просто поместите селектор 'label' в родительский элемент:

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

См. мой пример jsFiddle

0 голосов
/ 21 сентября 2009

Вы можете сделать это:

1.) Определите вход переключателя без метки окружения.

2.) Оберните «текст опции» (текст справа от переключателя) в <span>.

3.) Используйте этот оператор jQuery: $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

Это выберет переключатель и текст справа от переключателя и скроет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...