jquery - Bootstrap多选: close dropdown for each checkbox selection

标签 jquery angularjs twitter-bootstrap checkbox multi-select

我使用了 davidstutz 创建的 Bootstrap 多重选择。

我已启用多重选择,并选择所有复选框,但是当我选择复选框时,它会被选中,但下拉列表不会像单选一样关闭。这对我来说是一个非常具体的要求。

如何像普通选择框一样关闭每个选项选择的下拉列表?

HTML:

<select multiple="multiple" data-placeholder="Select" 
        multiselect-dropdown="reportListDropdown" ng-model="reports.reportList"
        ng-options="replist.id as replist.name for replist in reports.reportListArr">
</select>

答案:

 272:  if (this.options.multiple) {
 273:      // Simply select additional option.
 274:      $option.prop('selected', true);
+275:      this.$button.click();
       }

我在第 275 行以及 bootstrap-multiselect.js 的 else 部分添加了 this.$button.click(); 代码,它工作正常,但编辑核心文件不是真正的解决方案,所以有人知道用属性或选项级别处理这个问题的干净方法吗?

最佳答案

要从 jQuery 中关闭 Bootstrap MultiSelector,我发现只需单击任何其他对象即可使用 native 功能将其关闭。因此,这有效:

$(document).click();

以下是遍历选中的 MultiSelect 项目然后关闭 MultiSelect 的示例:

$('#foo').on("change", '[name="bar\\[\\]"]', function() {

    $('[name="bar\\[\\]"]:checked').each(function(){
        console.log( $(this).val() );
    });

    $(document).click(); // This closes the MultiSelector
});

关于jquery - Bootstrap多选: close dropdown for each checkbox selection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20905137/

相关文章:

javascript - 无法将 jquery "on click"与 bootstrap carousel 一起使用

javascript - jquery的done()下的代码在when()之前执行

javascript - 未捕获的类型错误 : Cannot read property 'split' of undefined(anonymous function)

angularjs - 您似乎没有安装名为 Angular 的生成器。?

javascript - Angular JS 表单验证

javascript - 动态生成的容器上的 Bootstrap 下拉菜单 z-index

ajax - Twitter Bootstrap Typeahead 不处理响应

Javascript - 快速删除对象数组中的重复项

javascript - 如何使用 jquery 将样式表和 javascript 文件动态添加到 div 元素

javascript - Kendo UI Grid 重新加载数据错误