web-dev-qa-db-ja.com

空のオプションを示す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>

しかし、そうすると、このオプションは空になり、選択できます enter image description here

そのオプションを表示せずにプレースホルダーを表示するにはどうすればよいですか?

ありがとう!

10

2行目に構文エラーがあります。

<option></option>
19
Max

それは遅い答えですが、誰かを助けることができます。

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');
7
devwebapp

空のオプションは実際にはプレースホルダー用であり、以下のコードを使用して解決しました

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

s1.val([' ']).trigger("change");はトリックをしました

3
Jervie Vitriolo

空のオプションを残し、タグのdata-placeholder属性を介して、またはselect2の初期化時にプレースホルダーオプションを介して、プレースホルダーテキストを指定します。

2
igor.vaynberg

同じ問題に直面したばかりで、単純な<option></option>が機能しませんでした。

空のオプションが挿入されているようですが、高さが割り当てられていないため、到達できません。

non-breaking-space&nbsp;)文字を追加するだけで解決しました(単純なスペースも機能しませんでした)。

<option>&nbsp;</option>
0
bitifet

$('select').select2({placeholder: 'Please select...'});を試してください。空の<option></option>と組み合わせると、仕事ができます;)。

0
Todor Todorov

ロールのオプションを読み込んだ後、最初の「空の」オプションを削除する行を追加できます。あなたはjqueryを使用して以下のようにそれを行うことができます。

$("#selectBox option[value='']").remove();
0
SoftwareTheory