gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 00:13:59 27 4
gpt4 key购买 nike

我正在开发一个项目,其中使用 jquery select2 来制作标签。除了一件事之外,一切都工作得很好。Select2 在单击外部时强制清除输入值(不是作为标签创建的)。

例如。在下面的屏幕截图中,当我输入 xyz 并单击标签选择器外部时,它会清除 xyz。 enter image description here

我不想清除该值。

如何强制Select2不清除值?

我用谷歌搜索了它,但运气不好,而且 select2 文档中也没有选项

http://ivaynberg.github.io/select2/

这就是我的使用方式

HTML

<input type="hidden" id="tagSelect" value="brown,red,green" style="width:300px;" />

JS

$('#tagSelect').select2({
tags: ["red", "green", "blue"],
minimumResultsForSearch: -1,
dropdownCss:{"display": "none"},
tokenSeparators: [",",13," "]
});

最佳答案

在花时间研究 Select2 代码后,我终于找到了一个解决方案来覆盖 clearSearch 函数,这样在用户将其设为标签之前它不会清除该值。

Select2 为我们提供了覆盖任何函数的选项。

window.Select2 他们将 select2 对象插入到 windows 对象中,因此如果我们需要任何自定义

代码:

        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"));
}
}

感谢大家的支持

关于jQuery Select2 在单击任意位置时清除输入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27437547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com