JQuery, показать / скрыть div, основанный на динамических переключателях радиокнопок aka radio34 и т. Д.? - PullRequest
0 голосов
/ 27 февраля 2012

Я создаю страницу динамически, и у меня есть несколько наборов переключателей. Мне нужно использовать идентификатор записи в теге идентификатора переключателей. например,

<input type="radio" name="review_flag1797" id="review_flag1797" 
      value="n" checked="checked" />

Как я могу создать одну функцию JQuery для отображения / скрытия моего div. Мои радиокнопки будут иметь три значения y, n и r. Когда значение равно n, мне нужно скрыть свой div и показать его для y и r.

Чтобы еще больше усложнить это, переключатель радиокнопки может установить другое значение при его записи.

EDIT

<div id="my_content1797">
content
</div>

Ответы [ 3 ]

0 голосов
/ 27 февраля 2012

Вы можете скрыть родительский div с помощью этого оператора

 $("input[value='n']").parent().hide();

Чтобы показать, введите

 $("input[value!='n']").parent().show();

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

Также попробуйте http://api.jquery.com/closest/, если div не является родительским.Это также выбирает родителя.

 $("input[value='n']").closest(...).hide();
0 голосов
/ 27 февраля 2012

Я предлагаю вам использовать атрибут data-* для хранения идентификатора набора, просто чтобы сделать жизнь немного проще, возможно, также назначьте этим переключателям общий класс:

<input ... class="someClass" ... data-id="1797" ... />

Тогда все, что вам нужно сделать, это:

$('.someClass').change(function() {
    if(this.checked) {
        $('#my_content' + $(this).data('id')).toggle(this.value !== 'n');
    }
});
0 голосов
/ 27 февраля 2012

Полагаю, вам нужен метод jQuery toggle ().

http://api.jquery.com/toggle/

onclick="$('#my_content<%=record_id%>').toggle(this.checked);"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...