Короткая стрелка для селектора jquery «:проверено» применяется в списке

#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> элементы внутри списка.