Boostrap Multiselect условие, если проверено - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть один массив со значениями, и я делаю запрос, чтобы отправить информацию на множественный выбор.

Когда я открываю свой выбор, у меня предварительно выбрана пара значений.

Моя проблемаесли я не сниму флажок на множественном выборе boostrap, я хочу удалить эту информацию из моего массива.Если я нажимаю на флажок, я хочу вернуть значение обратно в массив.

В моем коде я сначала проверяю, находится ли значение в массиве, но взаимодействие с выбором boostrap не то, что я хочуделать.

    // that bring the information in boostrap multiselect
    var vetornovo = ValueChecked();

    // here i try to detect the change to check and unchecked but doesnt works
    // all informations is selected: "selected" by default
    $("#os-select-list").change(function() {
                // i take the checkbox value.
                var valueck = parseInt($("#os-select-list option:selected").text());

                // if the information is in that i array when i click to unchecked then remove.
                  if (vetornovo.indexOf(valueck) > -1) {
                        index = $.inArray(valueck, vetornovo);
                        vetornovo.splice(index, 1);  
                        console.log(vetornovo);     
                    // when i click to selecte the value again i push and insert back to the array.
                  } else {
                    vetornovo.push(valueck);
                    console.log(vetornovo);   
                  }
    });

Я хочу понять, что не так, почему, когда я нажимаю на флажок, это не так, а иногда дублирует содержимое.

1 Ответ

0 голосов
/ 25 сентября 2018

Предполагается, что вы используете https://www.jqueryscript.net/form/jQuery-Multiple-Select-Plugin-For-Bootstrap-Bootstrap-Multiselect.html

, команда для обнаружения изменений

* Triggered on change of the multiselect.
*
* Not triggered when selecting/deselecting options manually.
*
* @param {jQuery} option
* @param {Boolean} checked 
*/
onChange : function(option, checked) {

}

не «изменение», как в вашем коде

Есть много «селектов», которые работают с начальной загрузкой - мне нравится https://developer.snapappointments.com/bootstrap-select/ - в ней есть хорошие примеры и простые для чтения инструкции - стоит посмотреть, если вы только начинаете ...

...