2013-10-18 15 views
6

troppo aggiungere un segnaposto in select2 devo aggiungere un opzione etichetta vuota nel codice come questosegnaposto select2 mostrando opzione vuota

<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> 

ma quando faccio che ottengo questa opzione vuota che è selezionabile enter image description here

Come posso non mostrare quell'opzione ma è ancora il segnaposto?

Grazie!

+0

'style = "display: none;"'? – Turnip

+0

che mostra ancora l'opzione vuota @ 3rror404 –

+0

Forse questa è un'opzione? http://jsfiddle.net/nJ8Vu/ – Turnip

risposta

12

Si è verificato un errore di sintassi sulla seconda riga.

<option></option> 
+0

se lo rimuovo, il segnaposto non mostra –

+1

nella documentazione di select2, dice: Quando il segnaposto viene utilizzato per una casella di selezione senza più valori, richiede di includere un tag vuoto come prima [email protected] Max –

+0

@ MarianaHernandez si è verificato un errore di sintassi: Max

0

È possibile aggiungere una riga per rimuovere la prima opzione "vuota" dopo aver caricato le opzioni per i ruoli. Si potrebbe fare come segue usando jquery.

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

grazie, l'ho provato ma rimuove il segnaposto = (@sr. –

2

lasciare vuota l'opzione e specificare il testo segnaposto o tramite l'attributo data-segnaposto sul tag o tramite l'opzione segnaposto durante l'inizializzazione select2.

4

È una risposta tardiva, ma può aiutare qualcuno.

Ho modale con un ingresso select2.

Abbiamo bisogno di aggiungere <option></option> per il segnaposto da mostrare.

HTML

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

Se voglio il segnaposto di apparire.

Jquery

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

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

Se voglio vedere un valore sull'ingresso select2:

$('#Name').select2('val', 'John'); 
-1

controllo se i valori di opzione è vuoto

0

solo provare $('select').select2({placeholder: 'Please select...'});. Combinato con un vuoto <option></option> dovrebbe fare il lavoro;).

0

L'opzione vuoto è in realtà per segnaposto, Ho risolto usando il codice seguente

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

il s1.val([' ']).trigger("change"); ha fatto il trucco

+0

Ecco una soluzione simile che utilizza puro HTML per prevenire da essere cliccato, così come molti altri approcci: https://stackoverflow.com/a/23638053/3196753 – tresf

Problemi correlati