javascript - 在更改时从 select2 多选中删除所选选项。

标签 javascript jquery jquery-select2

我有以下代码。目的是设计一个带有文本框作为搜索框的 select2 框。所以我将它实现为 multiselect ,但我只想选择一个选项。

一个选项是限制使用 maximumSelectionLength: 1。但在这种情况下,将显示我不希望发生的限制消息。 (即使我隐藏它也会占用一些空间)。

其他选项是隐藏除 last-child 之外的所有内容,在这种情况下,当提交表单时,多个值将被发送到后端。

那么有没有办法在多选中选择新值的时候移除当前选择的值?

我使用的是 select2 版本 3.5.2

$('#placeSelect').select2({
    width: '100%',
    allowClear: true,
    multiple: true,
    placeholder: "Click here and start typing to search.",
    data: [
            { id: 1, text: "Honolulu"     },
            { id: 2, text: "Tokyo"    },
            { id: 3, text: "Delhi" },
            { id: 4, text: "Zurich"   }
          ]    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/select2/3.4.8/select2.js"></script>
<link href="http://cdn.jsdelivr.net/select2/3.4.8/select2.css" rel="stylesheet"/>
<h3>Select a value</h3>
<input type="text" id="placeSelect"/>

最佳答案

您只能保留最后选择的项目并删除所有其他项目。像这样:

$('#placeSelect').click(function () { 
   var t = $("#placeSelect").val().substr($("#placeSelect").val().length - 1);
   $("#placeSelect").val(t).trigger("change");
});

$('#placeSelect').select2({
    width: '100%',
    allowClear: true,
    multiple: true,
    placeholder: "Click here and start typing to search.",
    data: [
            { id: 1, text: "Honolulu"     },
            { id: 2, text: "Tokyo"    },
            { id: 3, text: "Delhi" },
            { id: 4, text: "Zurich"   }
          ]    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/select2/3.4.8/select2.js"></script>
<link href="http://cdn.jsdelivr.net/select2/3.4.8/select2.css" rel="stylesheet"/>
<h3>Select a value</h3>
<input type="text" id="placeSelect"/>

关于javascript - 在更改时从 select2 多选中删除所选选项。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245498/

相关文章:

javascript - 无法相应地模板化 select2 插件

javascript - 如何让 jquery select2 动态禁用一个选项?

javascript - SharePoint <button> 元素执行不需要的页面重新加载

javascript - 使用 jQuery 获取 url 并提取 url 段

javascript - HTML5 拖放与 jQuery UI 拖放

php - 无法获取值(value)

javascript - 不存在的分号

javascript - 用 Jest 测试匿名函数相等性

javascript - 链接/嵌套 promise

php - 当输入类型为 select2 时在 x editable 内显示图像