Работа с select с помощью JQuery

Сборник методов JQuery для работы с выпадающими списками <select>.

1
$('#select').val();
/* или */
$('select[name=fruct]').val();
JS

Для списков с множественном выбором (multiple) метод val() вернет значения в виде массива.

2
$('#select option:selected').text();
/* или */
$('#select option:selected').html();
JS
3
$('#select option').size();
JS
$('#select option:selected').size();
JS
4

Выбрать первый элемент:

$('#select option:first').prop('selected', true);
JS

Выбрать последний элемент:

$('#select option:last').prop('selected', true);
JS

Выбрать элемент c value = 2:

$('#select option[value=2]').prop('selected', true);
JS

Выбрать элемент содержащий текст «виноград»:

$('#select option:contains("виноград")').prop('selected', true);
JS

Выбрать все элементы:

$('#select option').prop('selected', true);
JS

Снять выделение:

$('#select option').prop('selected', false);
JS
5
// Заблокировать
$('#select').prop('disabled', true);

// Разблокировать
$('#select').prop('disabled', false);
JS
6

Добавить элемент в начало select:

$('#select').prepend('<option value="">новый option</option>');
JS

Добавить элемент в конец select:

$('#select').append('<option value="">новый option</option>');
JS

Добавить элемент до и после option c value = 2:

// До
$('#select option[value=2]').before('<option value="">новый option</option>');

// После
$('#select option[value=2]').after('<option value="">новый option</option>');
JS

Добавить элемент до и после option c текстом «апельсин»:

// До
$('#select option:contains("апельсин")').before('<option value="">новый option</option>');

// После
$('#select option:contains("апельсин")').after('<option value="">новый option</option>');
JS
// Добавить элемент в начало группы «Фрукты»
$('#select optgroup[label=Фрукты]').prepend('<option value="">новый option</option>');

// Добавить элемент в конец группы «Фрукты»
$('#select optgroup[label=Фрукты]').append('<option value="">новый option</option>');
JS
var array = {1: 'яблоко', 2: 'апельсин', 3: 'виноград'};

$.each(array, function(key, value) {
	$('#select').append('<option value="' + key + '">' + value + '</option>');
});
JS
7

Удалить выбранный элемент:

$('#select option:selected').remove();
JS

Удалить первый элемент:

$('#select option:first').remove();
JS
$('#select option:last').remove();
JS

Удалить элемент c value = 4:

$('#select option[value=4]').remove();
JS

Удалить элемент содержащий текст «виноград»:

$('#select option:contains("виноград")').remove();
JS

Очистить весь select:

$('#select').empty();
/* или */
$('#select option').remove();
JS
05.11.2017, обновлено 15.09.2022
257462
Предыдущая запись Работа с Input Text jQuery
Следующая запись Работа с checkbox в JQuery

Комментарии 5

Иван Орлов Иван Орлов
1 февраля 2020 в 14:11
Здравствуйте! Спасибо за статью, но подскажите как выбрать несколко значений select, если у меня multiple
У вас написано как выбрать с одним значением:
$('#select option[value=2]').prop('selected', true);
А как сделать если нужно выбрать со значением например 2 и 3?
Пробовал так: $('#select option[value=2,3]').prop('selected', true);
Но выдает ошибку.
Кирилл Нефедьев Кирилл Нефедьев
15 февраля 2020 в 20:45
перебором )
var array = {1: 'яблоко', 2: 'апельсин', 3: 'виноград'};
 
$.each(array, function(key, value) {
	$(`#select option[value="${key}"]`).prop('selected', true);
});
Александр Максимов Александр Максимов
3 июня 2021 в 22:14
Вот это полезная инфа)) Дойдет до любого)
Максим Тюрин Максим Тюрин
24 мая 2022 в 08:35
Выбрать элемент c value = 2:

$('#select option[value=2]').prop('selected', true);

JS
Выбрать элемент содержащий текст «виноград»:

$('#select option:contains("виноград")').prop('selected', true);

Не работают эти конструкции. Выдаются ошибки. Эти примеры по всему интернету, но у меня не получается таким образом выбрать позицию, да и сам phpstorm ругается, что г@&но какое-то ввёл.
Владислав Черданцев Владислав Черданцев
6 июня 2022 в 00:16
кто подскажет куда нужно прописать сумму и количество дней что рассчитать стоимость и срок
/*Калькулятор*/
function calculate(){
let sum = parseInt($("#SelectSiteType option:selected").val()) + parseInt($("#SelectDesign option:selected").val()) + parseInt($("#SelectAdaptability option:selected").val());
let days = parseInt($("#SelectSiteType option:selected").attr("days")) + parseInt($("#SelectDesign option:selected").attr("days")) + parseInt($("#SelectAdaptability option:selected").attr("days"));
$(" .digit").text(sum);
$(" .digit1").text(days);
};
calculate();
$("select").on("change", function(){
calculate();
});

, чтобы добавить комментарий.

Другие публикации

Селекторы JQuery
В jQuery, селекторы в основном позаимствованы из CSS 1-3, также добавлены свои, что дало хороший набор инструментов для манипуляций с элементами в документе.
16733
+12
Селект с чекбоксами
Селект с множественным выбором (select multiple) весьма не удобен, при выборе часто забываешь нажимать сtrl и все сбрасывается. В место него можно использовать чекбоксы в выпадающем списке.
38736
+10
Работа с массивами PHP – создание, наполнение, удаление
Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.
105284
+14
Работа с Input Text jQuery
Сборник приемов JQuery для работы с текстовыми полями. Во всех примерах используется следующий html код...
132431
+15
Работа с Textarea jQuery
Сборник jQuery приемов с textarea - получить содержимое, вставить значение, подсчет количества символов и строк и т.д.
55255
+3
Пример парсинга html-страницы на phpQuery
phpQuery – это удобный HTML парсер взявший за основу селекторы, фильтры и методы jQuery, которые позволяют...
67045
+27