Обновление наборас выбранным JQuery - PullRequest
0 голосов
/ 24 августа 2018

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

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

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 24 августа 2018

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

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

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

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.

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

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

<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');
...