@WebforSelf

Как скрыть ведь label если input value не задано?

Есть такой инпут

<label class="input-radio-label__item active"><input class="input-radio-label__input variant-radio" type="radio" name="height" value="" checked="checked"><span class="input-radio-label__title"></span></label>


Как скрыть весь label если инпут value не задано?

К примеру скрыть сам инпут можно через css даже

input[value=''] {
    display: none;
}


А вот как с label прям закрыть?
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
переделай структуру так, чтобы на label не было никаких стилей. а все нужные вещи перенеси так, чтобы они были рядом с input.
тогда ты сможешь через ~ обращаться:
input[value=''] ~ span {display: none;}
тобишь в конечном итоге ты сможешь скрыть все кроме label. но так как внутри label будет пусто - его и самого не будет видно
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Haotik
@Haotik
PHP мидл без фреймворков
Помимо переделки структуры, можно добавить инпуту явный указатель на его label и далее обрабатывать через js
<label id="Указатель">
      <input class="input" data-target="Указатель"><span class="input-radio-label__title"></span>
</label>

<script>
	$(document).ready(function() {
		$('.input').each(function(){
			let $value = $(this).val();
                        let $target = $(this).attr('data-target');
			if (!$value) {
				$('#'+$target).css('display', 'none');
			} else {
				$('#'+$target).css('display', 'inline');
			}
		});
	});
</script>


Вроде такого
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы