Доброе время суток! Есть форма, с 1 checkbox, 1 label , 1 input[text] в таком порядке, и всех по 3. (инпут текст скрыт, и выпадает в зависимости, от того выбран или нет чекбокс). С помощью .each перебираю, но немогу выбрать нужный инпут, выпадают или все, или тот который задам через .eq(); На codepen.io HTML форма и скрипт. Помогите пожалуйста разобраться.
jQuery(function(){
jQuery('form :checkbox').click(function(){
jQuery(this).each(function(index, element){
if (jQuery(this).prop('checked')){
jQuery('input:text').show()
}
else {
jQuery('input:text').hide()
}
});
});
});
https://codepen.io/masteine/pen/ZyZBqP
В событие onClick добавьте функционал поиска элемента input, соответствующего обрабатываемому checkbox:
// Определяем ID чекбокса:
var cbId = $(this).attr("id").replace("_check","");
// Находим соответствующий input
var input = $("#" +cbId +"_input");
Исправленный код
Однако рекомендовал бы обернуть блоки в div'ы, тогда поиск соотвествующего инпута можно будет сделать элегантным:
var input = $(this).closest("div").find("input:text");
Пример
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости