select2显示多选中的复选框

时间:2014-04-25 20:23:47

标签: javascript jquery jquery-select2

这是我的傻瓜:http://jsfiddle.net/LUsMb/2779/

我尝试做的是制作一个复选框选择选项2,显示您选择了多少项,而不是显示项目列表。一切都有效,除了取消选择项目。我想这是因为我在evt.preventDefault事件中致电select2-selecting。这是我特定事件的代码:

.on('select2-selecting', function(evt) {
    var newValue = evt.object.value;
    var found = false;
    var me = this;
    var $me = $(me);
    var arr = $me.select2('data');
    arr.forEach(function(e) { 
        if(found) return;
        if(newValue === e.value) {
            found = true;
            var index = arr.indexOf(e);
            if(index === -1) console.error(e,"NOT FOUND IN ARRAY. ABORT ABORT ABORT.");
            arr.splice(index, 1);
            $me.select2('data',arr);
            changeText(me);
            evt.preventDefault();
        }
    });

我做evt.preventDefault()因为我想从select2数据列表中删除该项而不是再次添加它(因为我不想让它以传统方式工作)。不幸的是,当我去取消选择一个项目时,它会正确地完成所有更新,除了在select2中 - 显示列表没有正确更新。我总是可以关闭并重新打开列表,但我强烈不愿意这样做。

之前有没有成功完成此操作?或者也许会知道从哪里开始?

0 个答案:

没有答案