Обновление набора <select multiple> с выбранным JQuery

У меня есть страница с двумя наборами <select mutiple>, к которой прикреплена выбранная функция JQuery.

Когда пользователь устанавливает флажок, мне нужно

а) взять список из двух наборов select

б) для каждого select прочитать выбранные варианты

в) пометить как выбранную одну из фактически невыбранных опций

г) отметить невыделенным одну из фактически выбранных опций

Единственная часть, которую я сделал, это «а)»:

var regioni = document.getElementsByClassName('regioni');

В regioni у меня есть список select, но теперь я не знаю, как обстоят дела с другими частями.

Пожалуйста, ТОЛЬКО решения простого javascript или JQuery.

Поделитесь своим кодом ...

anshuman 24.08.2018 17:53
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
49
1

Ответы 1

а) Если вам нужен список из одного из выбранных, вы можете сделать что-то вроде:

var arr_select = [];
$("#select_id option").each(function(i,e){arr_select.push($(e).val())});

б) Если вы хотите, чтобы значения каждого выбора:

var select_1_value = $("#select_1_id").val();
var select_2_value = $("#select_2_id").val();

Но если вам нужен текст каждого элемента, вы можете попробовать что-то вроде:

var select_1_text_selected = []; 
$("#select_id_1 option:selected").each(function(i,e){
   select_1_text_selected.push($(e).text())
});

var select_2_text_selected = []; 
$("#select_id_2 option:selected").each(function(i,e){
   select_2_text_selected.push($(e).text())
});

c) Вам нужно указать свойство как выбранное для элемента option, а затем вам нужно обновить это выбранное, вам нужно сделать что-то вроде:

$("#select_id option[value='1001']").prop('selected',true);
$("#select_id").trigger('chosen:updated');

«1001» - это значение из существующего элемента option.

г) Вы можете создать select с пустым параметром, проверить его позже и отправить сообщение пользователю с просьбой о выборе варианта.

что-то вроде этого

<select id='select_1' class='chosen' data-placeholder='Please select something'>
    <option value=''></option>
    <option value='1001'> phone</option>
</select>

Таким образом, вы можете отменить выбор чего-то выделенного с помощью этого:

$("#select_id option[value='']").prop('selected',true);
$("#select_id option[value='1001']").prop('selected',false);
$("#select_id").trigger('chosen:updated');

Другие вопросы по теме