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);
}
});
我想知道哪里出了问题,为什么当我点击复选框时不起作用,有时还会重复内容。
检测变化的命令是
* 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/ - 它有很好的示例和易于阅读的说明 - 如果您刚刚开始,值得一看。 ..
我有一个包含值的数组,我提出了一个请求,将信息发送到 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);
}
});
我想知道哪里出了问题,为什么当我点击复选框时不起作用,有时还会重复内容。
检测变化的命令是
* 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/ - 它有很好的示例和易于阅读的说明 - 如果您刚刚开始,值得一看。 ..