javascript - Select2 多选重复值

标签 javascript duplicates jquery-select2

http://jsfiddle.net/tXFbk/2/

HTML:

<div class="control-group">
    <label for="some_id" class="control-label">Some ID</label>
    <div class="controls">
        <input type="text" id="some_id" name="some_id" class="span4"/>
    </div>
</div>

JS:

$(function() {
    $('#some_id').select2({
        allowClear: true,
        placeholder: 'Some ID',
        minimumInputLength: 2,
        multiple: true,
        data: [
            {id: 1, text: 'some text'},
            {id: 2, text: 'some other text'},
            {id: 3, text: 'some more text'}
        ]
    });
    $('#some_id').select2('data', [
        {'id':1,'text':'some text'}
    ]);

    console.log($('#some_id').select2('val'));
});

在第一次加载时它会复制值,在清除值后它不会从输入中清除它。此外,如果您添加一个项目(例如“更多文本”)然后删除它,它不会从输入值中清除它。有什么办法让它停止重复值吗? 还有一件事 - 如何禁用添加已添加的项目?

最佳答案

Select2 4.0.0 支持重复标签。

Jsfiddle Demo link

$eventSelect.on("select2:select", function (e) { 
    log("select2:select", e);
  $eventSelect.append('<option value="'+e.params.data.text+'">' +e.params.data.text + '</option>');
});

$eventSelect.on("select2:unselect", function (e) { 
    log("select2:unselect", e); 
    e.params.data.element.remove();
});

function formatResultData (data) {
  if (!data.id) return data.text;
  if (data.element.selected) return
  return data.text;
};

基于 select2 事件和 github issues

图片: enter image description here

关于javascript - Select2 多选重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14976099/

相关文章:

html - 无法让 select2 保管箱在列表框行中工作

javascript - 获取对嵌套在另一个元素中的元素的引用

javascript - 使用 JavaScript 访问本地文件

javascript - 带有 jquery 的 HTML 折叠表行

c# - 如何避免向由 Seed 方法引起的 EntityFramework 管理的数据库添加重复项?

java - 查找数组中的重复项并将其添加到计数中

javascript - 允许 Select2 元素中的标签

javascript - 如何以三元+箭头表示法插入 "for"

r - 不区分大小写 独特 保持原样

jquery - django-autocomplete-light - 如何返回与模型主键不同的字段?