13

在 select2 中添加一个占位符我必须像这样在代码中添加一个空选项标签

<select id="e2" name="rol_id" >
                       <option><option>
                       {foreach from=$data.roles item=rol}
                       <option value={$rol.rol_id}>{$rol.rol_nombre}</option>
                       {/foreach}
 </select>

但是当我这样做时,我会将此选项设为空,这是可选的 在此处输入图像描述

我怎么能不显示该选项但仍然是占位符?

谢谢!

4

8 回答 8

20

您在第 2 行有语法错误。

<option></option>
于 2013-10-18T15:03:34.257 回答
8

这是一个迟到的答案,但它可以帮助某人。

我有一个带有 select2 输入的模态。

我们需要添加 <option></option>要显示的占位符。

HTML

<select  id="Name">
  <option></option>
  <option value="John">John</option>
  <option value="Brian">Brian</option> 
  <option value="Carl">Carl</option>
</select>

如果我希望占位符出现。

jQuery

$('#Name').select2({placeholder: 'Select a Name'});

$('#Name').select2('val', '');

如果我想查看 select2 输入的值:

$('#Name').select2('val', 'John');
于 2014-04-09T10:00:33.903 回答
6

空选项实际上是占位符,我使用下面的代码解决了它

var s1 = $('#select2id').select2({
                    multiple: true,
                    placeholder: "Select values"
                });
                s1.val([' ']).trigger("change"); 

s1.val([' ']).trigger("change");成功了

于 2017-09-07T03:56:07.940 回答
2

保留空选项并通过标记上的 data-placeholder 属性或在初始化 select2 时通过占位符选项指定占位符文本。

于 2013-10-18T16:13:57.633 回答
0

在加载角色选项后,您可以添加一行以删除第一个“空”选项。您可以使用 jquery 进行如下操作。

$("#selectBox option[value='']").remove();
于 2013-10-18T15:01:32.817 回答
0

试试看$('select').select2({placeholder: 'Please select...'});。结合一个空<option></option>应该做的工作;)。

于 2017-08-04T20:18:58.437 回答
0

我刚刚遇到了同样的问题,简单的<option></option>对我不起作用。

似乎插入了空选项,但它没有分配任何高度,因此无法达到它。

我通过添加一个不间断空格( &nbsp;) 字符来解决(简单的空格也不起作用):

<option>&nbsp;</option>
于 2019-09-03T11:47:23.713 回答
0

有点离题,但您可以为此搜索解决方案:

如果您在每个 select2 小部件选项之间有空选项 -如果您在模板<option></option>中使用 jinja 循环,请检查您的 jinja 标签并删除标签。{% for %}

于 2021-07-07T14:17:54.197 回答