Сборник методов JQuery для работы с выпадающими списками <select>
.
Для списков с множественном выбором (multiple) метод val()
вернет значения в виде массива.
Узнать количество выбранных элементов
Выбрать первый элемент:
Выбрать последний элемент:
Выбрать элемент c value = 2:
Выбрать элемент содержащий текст «виноград»:
Выбрать все элементы:
Снять выделение:
// Заблокировать
$('#select').prop('disabled', true);
// Разблокировать
$('#select').prop('disabled', false);
Добавить элемент в начало select:
Добавить элемент в конец select:
Добавить элемент до и после option c value = 2:
// До
$('#select option[value=2]').before('<option value="">новый option</option>');
// После
$('#select option[value=2]').after('<option value="">новый option</option>');
Добавить элемент до и после option c текстом «апельсин»:
// До
$('#select option:contains("апельсин")').before('<option value="">новый option</option>');
// После
$('#select option:contains("апельсин")').after('<option value="">новый option</option>');
Добавление элементов в optgroup
// Добавить элемент в начало группы «Фрукты»
$('#select optgroup[label=Фрукты]').prepend('<option value="">новый option</option>');
// Добавить элемент в конец группы «Фрукты»
$('#select optgroup[label=Фрукты]').append('<option value="">новый option</option>');
Добавить элементы option в select из массива
var array = {1: 'яблоко', 2: 'апельсин', 3: 'виноград'};
$.each(array, function(key, value) {
$('#select').append('<option value="' + key + '">' + value + '</option>');
});
У вас написано как выбрать с одним значением: А как сделать если нужно выбрать со значением например 2 и 3?
Пробовал так: $('#select option[value=2,3]').prop('selected', true);
Но выдает ошибку.
Не работают эти конструкции. Выдаются ошибки. Эти примеры по всему интернету, но у меня не получается таким образом выбрать позицию, да и сам phpstorm ругается, что г@&но какое-то ввёл.
/*Калькулятор*/
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();
});