Boostrap Multiselect条件(如果选中)

时间:2018-09-25 17:49:18

标签: javascript jquery multi-select bootstrap-multiselect

我有一个带有值的数组,我发出请求将信息发送到多选。

打开选择项时,我会预先选择几个值。

我的问题是,如果我单击取消选中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);   
                  }
    });

我想了解问题出在什么地方,为什么当我单击复选框时却没有,并且有时重复了内容。

1 个答案:

答案 0 :(得分:0)

假设您正在使用 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/-它具有良好的示例和易于阅读的说明-如果您刚刚开始,值得一看...