Javascript 在更改时从select2 multiselect中删除所选选项。

Javascript 在更改时从select2 multiselect中删除所选选项。,javascript,jquery,jquery-select2,select2,Javascript,Jquery,Jquery Select2,Select2,我有以下代码。其目的是设计一个select2框,其中textbox作为搜索框。所以我将其实现为multiselect,但我只希望选择一个选项 一个选项是限制使用maximumSelectionLength:1。但在这种情况下,将显示限制消息,这是我不希望发生的。(即使我将其隐藏,也会占用一些空间) 另一个选项是隐藏除最后一个子项之外的所有内容,在这种情况下,提交表单时将向后端发送多个值 那么,在multiselect中选择新值时,是否有方法删除当前选择的值? 我正在使用select2版本3.5.

我有以下代码。其目的是设计一个select2框,其中textbox作为搜索框。所以我将其实现为multiselect,但我只希望选择一个选项

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

另一个选项是隐藏除最后一个子项之外的所有内容,在这种情况下,提交表单时将向后端发送多个值

那么,在multiselect中选择新值时,是否有方法删除当前选择的值?

我正在使用select2版本3.5.2
$('placeSelect')。选择2({
宽度:“100%”,
allowClear:是的,
多重:对,
占位符:“单击此处并开始键入以搜索。”,
数据:[
{id:1,正文:“檀香山”},
{id:2,文本:“东京”},
{id:3,文本:“德里”},
{id:4,正文:“苏黎世”}
]    
});

选择一个值
$('placeSelect')。选择2({
宽度:“100%”,
allowClear:是的,
多重:假,
占位符:“单击此处并开始键入以搜索。”,
数据:[
{id:1,正文:“檀香山”},
{id:2,文本:“东京”},
{id:3,文本:“德里”},
{id:4,正文:“苏黎世”}
]    
});

选择一个值

如果您正在使用多选项选择,我建议您执行以下操作:

multiple: false,

只需在查询中添加以下代码,它就可以根据需要工作

$('ul.select2-choices').on("click", function() {
    $("ul.select2-choices li .select2-search-choice-close").click();
  });

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

$('#placeSelect')。单击(函数(){
var t=$(“#placeSelect”).val().substr($(“#placeSelect”).val().length-1);
$(“#placeSelect”).val(t).trigger(“change”);
});
$('#placeSelect')。选择2({
宽度:“100%”,
allowClear:是的,
多重:对,
占位符:“单击此处并开始键入以搜索。”,
数据:[
{id:1,正文:“檀香山”},
{id:2,文本:“东京”},
{id:3,文本:“德里”},
{id:4,正文:“苏黎世”}
]    
});

选择一个值

只能实现一次多选:false;你有什么问题吗?这是不可能做到的,那是它的主要用途。在单选中,搜索框将出现,而不是在文本框中搜索。这是无法完成的,这是主要用途。在single select中,搜索框将出现,而不是在textbox中搜索,我想直接在textbox中搜索,而不是在select2 custom searcbox中搜索。查看此线程,可能会有所帮助