Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何清除Selectize.js下拉列表中的选定值?_Javascript_Jquery_Selectize.js - Fatal编程技术网

Javascript 如何清除Selectize.js下拉列表中的选定值?

Javascript 如何清除Selectize.js下拉列表中的选定值?,javascript,jquery,selectize.js,Javascript,Jquery,Selectize.js,我有一个下拉列表,我必须清除所选的值 我尝试过以下建议: 但它给出了以下错误: 当我将其更改为此: var selectize = $("#optionNetFlow").selectize; selectize.clear(); 我给出了这个错误: 我做错了什么?我终于在这里找到了答案 对我有效的是: var $select = $('#optionNetFlow').selectize(); var control = $select[0].selectize; control.

我有一个下拉列表,我必须清除所选的值

我尝试过以下建议:

但它给出了以下错误:

当我将其更改为此:

var selectize = $("#optionNetFlow").selectize;
selectize.clear();
我给出了这个错误:


我做错了什么?

我终于在这里找到了答案

对我有效的是:

 var $select = $('#optionNetFlow').selectize();
 var control = $select[0].selectize;
 control.clear();
我缺少的变量$select=$'optionNetFlow'。selectize;在应用上述问题答案中提供的解决方案之前

现在我要在控制台中获得所有功能,如:

试试这个:- JS:-

这不会从“选择”菜单中删除项目,只需从“选择”选项中删除即可。

尝试此操作

$("#optionNetFlow")[0].selectize.clear();

或者,如果您具有“多选”,并且确实希望恢复下拉列表中的选定项,请将“隐藏选定项”设置为true

var selectize = $("#select-item").selectize;
//clone array
var items = selectize.items.slice(0);
for (var i in items) {
    selectize.removeItem(items[i]);
}
selectize.refreshOptions();

所有其他答案要么清除单个selectize,要么在创建selectize时需要对其进行特定引用

另一方面,下面的解决方案适用于任何表单中的任意数量的selectize元素;您只需指定所需的表单:

$('form').find('.selectized').each(function(index, element) { element.selectize && element.selectize.clear() })
基本原理是Selectize将原始元素隐藏在DOM中,在DOM元素的.Selectize属性上添加对Selectize的引用,并向其添加一个已选择的CSS类


因此,该解决方案会找到所有已选择CSS类的元素,循环遍历它们并调用element.selectize.clear

如果你勾选了不正确答案中提到的内容,想象一下-9次投票支持不正确答案。好吧,也许答案的其他部分是正确的,但第一行代码是致命的错误-你会看到它是如何做到的。谢谢@Regent,我把它整理好了。谢谢你的帮助,有时候会这样。有时没有任何充分的理由。放松点。你知道,并不是因为你名声不好。我的赞成票可以弥补2.5票的反对票。谢谢你的帮助。我已经解决了+1表示JSFIDLE。persist的作用是什么?@astroanu-它在取消选择或取消选择后显示keep选项?基本上作为布尔标志。来源是使用文档:这是最好的方法,初始化时不必将selectize存储在全局变量中,只要在需要时调用它即可。最佳答案。清除输入后,可能需要对其进行聚焦,以打开列表。这对我来说太好了,我刚刚添加了我的选择框的ID,然后砰的一声它就工作了,多谢了。这个解决方案还删除了记录清除了下拉列表。您不能再在列表中搜索。@不,不能。刚刚检查了这个解决方案-它工作得很好。我仍然可以搜索并选择已清除的项目。用于检查此项的版本-为此选择ize.js v0.12.4.+1!但问题是,这句话是什么意思?element.selectize&&element.selectize.clear它的意思是:如果element.selectize不是null或未定义,则清除它
$("#optionNetFlow")[0].selectize.clear();
var selectize = $("#select-item").selectize;
//clone array
var items = selectize.items.slice(0);
for (var i in items) {
    selectize.removeItem(items[i]);
}
selectize.refreshOptions();
$('form').find('.selectized').each(function(index, element) { element.selectize && element.selectize.clear() })