#jquery
#jquery
Вопрос:
У меня есть ряд сгенерированных групп переключателей. Я хочу перебрать группы и выполнить attr(‘checked’, true) для радио со значением, определяемым substr() хэша (пока хранится в текстовом поле с id =»hash»).
var hashPosition = 0;
$("section").each(function(){
var hashCode = $("#hash").val().substr(hashPosition, hashPosition 1);
if(hashCode > 5){ hashCode = 0; }
$("input[value='" hashCode "']").attr('checked', true);
hashPosition ;
});
Хэш — это просто последовательность чисел от 1 до 5. (например. «012345123450»)
HTML выглядит следующим образом:
<li>
<section>All snoots must be booped.</section>
<section>
<input type="radio" name="c1i1a" id="c1i1-5" title="Strongly Agree" value="5" />
<input type="radio" name="c1i1a" id="c1i1-4" title="Agree" value="4" />
<input type="radio" name="c1i1a" id="c1i1-3" title="Neutral" value="3" />
<input type="radio" name="c1i1a" id="c1i1-2" title="Disagree" value="2" />
<input type="radio" name="c1i1a" id="c1i1-1" title="Strongly Disagree" value="1" />
<input type="radio" name="c1i1a" id="c1i1-0" title="No Opinion" value="0" />
</section>
</li> ... and so on
Этот код не работает, потому что он устанавливает значение каждого ввода [value= n] в документе. Мне нужно указать входные данные $этого раздела. Но я не могу понять, как это сделать.
Ответ №1:
Чтобы задать ввод только внутри текущего повторяющегося раздела, обратитесь this
each
к обратному вызову (чтобы перейти к разделу) и используйте .find
для перехода к соответствующему входу, который является потомком раздела:
$(this).find("input[value='" hashCode "']").attr('checked', true);