2017-02-13 1 views
0

У меня есть следующее в форме. Он клонируется, и я хочу иметь возможность включить отображение только одного элемента. Мое клонирование увеличивает число в имени и идентификаторе элемента ввода.Show/Hide span на основе элемента внутри диапазона

<span style="display: none;"> 
    <input type="checkbox" id="regsenior_1" name="regsenior_1" class="test-checkbox" value="Senior"/> 
    <label class="test-checkbox-label">Senior</label> 
</span> 

Когда другие изменения внесены в форму, я запустил функцию javascript. Внутри этой функции я хочу включить отображение элемента ввода и метки. Я могу получить элемент ввода по его идентификатору. и это показывает, что, но не ярлык:

document.getElementById(regSeniorID).style.display = "inline-block"; 

Как я могу подойти к размаху и изменить отображение, чтобы показать все внутри диапазона?

Отметьте, что regSeniorID = regsenior_ + номер клона, чтобы захватить правильный уникальный предмет.

ответ

0

, так как вы помечено JQuery вы можете сделать это:

$('#' + regSeniorID).parent().parent().find('span').hide(); 

это найти правильный элемент диапазона и в конечном итоге показать.

+0

Я пробовал '$ (regSeniorId) .parent(). Find ('span'). Show();', а также '$ ('#' + regSeniorId) .parent(). Find ('span') .show(); 'и ни одна из них не работает, но не дает ошибок в консоли. Я регистрирую regSeniorId на консоли, поэтому знаю, что линия попала, и переменная установлена ​​правильно. Но элементы не отображаются (или скрыты, если я переворачиваю вещи, чтобы всегда показывать элемент и пытаться скрыть его с помощью кода). –

+0

Мне пришлось подняться еще одним родителем. Я отредактировал ответ, чтобы показать это. –

Смежные вопросы