Bootstrap 多选条件(如果选中)

Boostrap Multiselect condition if checked

我有一个包含值的数组,我提出了一个请求,将信息发送到 multiselect。

当我打开 select 时,我有几个预先 select 编辑的值。

我的问题是,如果我单击取消选中 boostrap multiselect 上的复选框,我想从我的数组中删除此信息。如果我单击复选框,我想将值放回数组中。

在我的代码中,我首先检查值是否在数组中,但与 boostrap select 的交互不是我想要做的。

    // 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);   
                  }
    });

我想知道哪里出了问题,为什么当我点击复选框时不起作用,有时还会重复内容。

假设您正在使用 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) {

}

不像您在代码中那样'change'

有许多 'selects' 与 bootstrap 一起使用 - 我喜欢 https://developer.snapappointments.com/bootstrap-select/ - 它有很好的示例和易于阅读的说明 - 如果您刚刚开始,值得一看。 ..