#javascript #jquery
Вопрос:
У меня есть список переключателей jquery :
<input type="radio" class="editorInput" name="radioEditor" value="1" id="radio_1">
<input type="radio" class="editorInput" name="radioEditor" value="2" id="radio_2">
<input type="radio" class="editorInput" name="radioEditor" value="3" id="radio_3">
<input type="radio" class="editorInput" name="radioEditor" value="4" id="radio_4">
Мне нужно найти тот, который проверен, и получить его значение (или текст).
Для ценности, которую я знаю, я могу сделать :
var val = $(".editorInput:checked").val();
Но в некоторых других случаях в моем сценарии у меня уже есть список сборки, содержащий эти элементы управления, например, выбранные
var list = $(".editorInput");
Единственный известный мне способ получить отмеченный в этом списке требует написания каждого итератора :
$(list).each(function ()
{
if ($(this).is(":checked"))
{
val = $(this).val();
}
});
Мой вопрос : существует ли более короткий синтаксис jquery для получения переключателя «проверено» из списка элементов управления (как указано выше), содержащего несколько элементов управления в одной строке ?
Спасибо
Комментарии:
1. Вы можете фильтровать объекты jQuery , поэтому попробуйте что-то вроде
.filter(':checked')
2. @клонированный $(список). фильтр(«:проверено») — это решение, спасибо, что поделились им. Вы можете опубликовать это в качестве ответа, если хотите, или я сделаю это !
3. @RoryMcCrossan цель состоит в том, чтобы работать с уже существующим списком элементов, построенным с помощью (предположительно неизвестной) комбинации селекторов, выполненной ранее, чтобы просто извлечь элементы «:проверено» среди них. «клонированный» дал решение :).
4. @RoryMcCrossan учтите, что когда мне нужно применить фильтр «:проверено», у меня уже есть только объект «список», как в примере, а не возможность выполнить полный селектор, потому что я нахожусь в другом методе, который выполняет выбор контрольного списка. Это для сложного скрипта (>1000 строк JS). «.filter()» делает именно то, что мне нужно. Все равно спасибо тебе !
5. А, теперь я понимаю. Извините, я пропустил эту часть вашего вопроса
Ответ №1:
Вы можете изменять объекты jQuery, например, один из способов сделать это [filter() Method][1]
Еще одно достойное упоминания должно идти к методу find()
$list.filter(':checked')
отфильтровывает проверенные элементы.
$ulList.find('li')
находит все <li>
элементы внутри списка.