Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
jQuery Select2在单击任意位置时清除输入值?_Jquery_Jquery Select2 - Fatal编程技术网

jQuery Select2在单击任意位置时清除输入值?

jQuery Select2在单击任意位置时清除输入值?,jquery,jquery-select2,Jquery,Jquery Select2,我在一个项目中使用jquery select2制作标记。除了一件事,一切都很好。 选择2在单击外部时强制清除输入值(该值不是作为标记创建的) 比如说。 在下面的屏幕截图中,当我输入xyz并在标记选择器外部单击时,清除xyz。 我不想清除值 如果不清除值,如何强制选择2 我用谷歌搜索了一下,但运气不好,而且在select2文档中也没有选择 这就是我使用的方法 HTML 在Select2代码中花费时间后,我终于找到了覆盖clearSearch函数的解决方案,因此在用户将其设置为标记之前,它不会清

我在一个项目中使用jquery select2制作标记。除了一件事,一切都很好。 选择2在单击外部时强制清除输入值(该值不是作为标记创建的)

比如说。 在下面的屏幕截图中,当我输入xyz并在标记选择器外部单击时,清除xyz。

我不想清除值

如果不清除值,如何强制选择2

我用谷歌搜索了一下,但运气不好,而且在select2文档中也没有选择

这就是我使用的方法

HTML


在Select2代码中花费时间后,我终于找到了覆盖
clearSearch
函数的解决方案,因此在用户将其设置为标记之前,它不会清除该值

选择2为我们提供覆盖任何功能的选项

window.Select2
他们将Select2对象插入到windows对象中,以便在我们需要定制时使用

代码:


感谢大家的支持

这是select2的默认行为。我认为您需要
createSearchChoice
选项@是的,你是对的,这是默认行为。我很惊讶地知道,没有任何选项可以阻止它,或者我没有找到任何选项?@mishik这个createSearchChoice如何帮助我不清除输入数据?据我所知,
createSearchChoice
用于
从用户的搜索词中创建一个新的可选选项。
@RohitBatra使用您的想法是的,我发现
clearSearch
是删除输入值的函数。有没有办法不用编辑插件就覆盖这个函数?
<input type="hidden" id="tagSelect" value="brown,red,green" style="width:300px;" />
$('#tagSelect').select2({
 tags: ["red", "green", "blue"],
 minimumResultsForSearch: -1,
 dropdownCss:{"display": "none"},
 tokenSeparators: [",",13," "]
});
        window.Select2.class.multi.prototype.clearSearch=function(){
            var placeholder = this.getPlaceholder(),
                maxWidth = this.getMaxSearchWidth();
           // CurrentThisInput=(this.search); i used this to get the current select2 element and make further action if required.
            if(this.search.val()!=""){}else
            if (placeholder !== undefined  && this.getVal().length === 0 &&  this.search.val()=="") {
                this.search.val(placeholder).addClass("select2-default");
                this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
            }
        }