Select2 - 如何允许空值

10

在一个表单中有多个select2元素。 我在一个特定的select2元素中设置了一些带有非空字符串'text'和空值'value'的选项。 提交表单似乎会按照以下方式进行:

  • 如果'value'不为空->在'submit'操作时'submit'的项目是'value'
  • 如果'value'为空->在'submit'操作时'submit'的项目是'text'

这不是我要找的行为。当'value'为空时,如何提交'value'? 我只想提交空值!在select2文档中找不到这样的内容。


你使用的是哪个版本的Select2?随着我看到的一样,这个功能在4.0版本中可能已经发生了变化。 - AnthonyVO
3个回答

11
为了指定一个空值,您需要将Select2的值设置为null,然后占位符将出现。
$('select').select2({
    placeholder: 'Your NULL value caption',
    allowClear: true   // Shows an X to allow the user to clear the value.
});

以前(通过自定义数据适配器或早期版本)可以创建一个空值条目,供用户选择。我知道,因为以前我就是这样做的,但现在已经改变了。

Select2 4.0.3:请参阅:https://select2.org/selections

====================

重要编辑:截至昨天的版本4.0.4中,有一个修复程序允许选择具有空或0选项值的选项。 请查看:https://github.com/select2/select2/releases/tag/4.0.4

要启用此功能,您需要添加NULL值并删除"placeholder"和"allowClear"选项。

如果不删除"placeholder"选项,则会隐藏您的"NULL"条目。

如果保留"allowClear",则单击"X"将导致错误。


1

我曾遇到同样的问题,我使用静态文件,但通过使用CDN解决了这个问题。

JS CDN:

<script src%3D"https//cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/js/select2.min.js"></script>

css cdn

<link href%3D"https//cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/css/select2.min.css" rel="stylesheet" />

请在您的CSS和JS中包含这些链接,并使用。
<script>
$(".your_class").select2({
placeholder: 'Your caption',
allowClear: true
})</script>

这将很好地工作


1
可以通过HTML元素属性来完成(对于select2)。
<select ... data-allow-clear=true >

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接