Присвоить input name такой же как у div

377
06 марта 2017, 12:13

Добрый день!

Помогите в решении вопроса.

У меня есть блоки с input type="radio"

Структура следующая

<div class="wrapper_all_radio0">
<input type="radio" id="radio01" name="radio" />
<input type="radio" id="radio02" name="radio" />
<input type="radio" id="radio03" name="radio" />
</div>

Мне необходимо, чтобы name изменялся на имя класса div , т.е. name="wrapper_all_radio0" для всех инпутов внутри данного дива

И еще, каждый новый блок с классом wrapper_all_radio0 изменяется javascript, т.е. у первого блока класс wrapper_all_radio0, у второго блока класс wrapper_all_radio1 и т.д.

Таким образом надо сравнить имя дива и присвоить соответсвующий name всем инпутам внутри каждого дива

Изменение класса дива выполняет следующий код

$(function(){
            $('.wrapper_all_radio').each(function(i){
                var $tc = $(this).attr('class')
                $(this).attr('class', $tc+i)
            })
        })

Заранее спасибо за помощь! )

Answer 1

Вы можете найти элементы внутри div’а с помощью метода .find(). Он принимает селектор, поэтому, чтобы найти переключатели, можно ему передать селектор 'input[type="radio"]':

$(function(){
            $('.wrapper_all_radio').each(function(i){
                var $tc = $(this).attr('class')
                $(this).attr('class', $tc+i)
                $(this).find('input[type="radio"]').attr('name', $tc+i) 
            })
})
READ ALSO
Почему не работает JQuery UI аккордеон?

Почему не работает JQuery UI аккордеон?

Изучаю JSПытаюсь сделать аккордион с помощю JQuery UI

368
Не отправляется запрос на сервер

Не отправляется запрос на сервер

Не получается отправить post запросТекст ошибки:

281
Работа resolve в promise

Работа resolve в promise

Есть такой код, один аспект которого мне не понятен:

290