select2占位符显示空选项

Mar*_*dez 10 javascript css twitter-bootstrap jquery-select2

在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>
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我将此选项清空,可以选择 在此输入图像描述

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

谢谢!

Max*_*Max 19

您在第二行有语法错误.

<option></option>
Run Code Online (Sandbox Code Playgroud)

  • 在 select2 文档中,它说:当占位符用于非多值选择框时,它要求您包含一个空的 &lt;option&gt;&lt;/option&gt; 标记作为第一个选项。@最大限度 (2认同)
  • 空选项很好,但需要告诉select2占位符文本 - 然后它将隐藏空选项... (2认同)

小智 7

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

我有一个带有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>
Run Code Online (Sandbox Code Playgroud)

如果我想要占位符出现.

jQuery的

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

$('#Name').select2('val', '');
Run Code Online (Sandbox Code Playgroud)

如果我想在select2输入上看到一个值:

$('#Name').select2('val', 'John');
Run Code Online (Sandbox Code Playgroud)


Jer*_*olo 6

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

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

s1.val([' ']).trigger("change");做的伎俩