あまりにも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>
しかし、そうすると、このオプションは空になり、選択できます
そのオプションを表示せずにプレースホルダーを表示するにはどうすればよいですか?
ありがとう!
2行目に構文エラーがあります。
<option></option>
それは遅い答えですが、誰かを助けることができます。
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');
空のオプションは実際にはプレースホルダー用であり、以下のコードを使用して解決しました
_var s1 = $('#select2id').select2({
multiple: true,
placeholder: "Select values"
});
s1.val([' ']).trigger("change");
_
s1.val([' ']).trigger("change");
はトリックをしました
空のオプションを残し、タグのdata-placeholder属性を介して、またはselect2の初期化時にプレースホルダーオプションを介して、プレースホルダーテキストを指定します。
同じ問題に直面したばかりで、単純な<option></option>
が機能しませんでした。
空のオプションが挿入されているようですが、高さが割り当てられていないため、到達できません。
non-breaking-space(
)文字を追加するだけで解決しました(単純なスペースも機能しませんでした)。
<option> </option>
$('select').select2({placeholder: 'Please select...'});
を試してください。空の<option></option>
と組み合わせると、仕事ができます;)。
ロールのオプションを読み込んだ後、最初の「空の」オプションを削除する行を追加できます。あなたはjqueryを使用して以下のようにそれを行うことができます。
$("#selectBox option[value='']").remove();