2012-10-27 10 views
5


Sto provando a scrivere codice che consente di compilare un elenco di selezione in base al valore di input di una casella di testo.

Per esempio:
Se l'utente immette latte nella casella di testo, l'elenco di selezione conterrà "full fat", "Skimmed", "1% Milk"

Sono online e non riesco a trovare alcuna informazione su come farlo. Sono riuscito a inserire automaticamente un elenco di selezione in base alla selezione di uno precedente utilizzando jquery. Tuttavia, non posso trovare una soluzione per quando si utilizza una casella di testo.
Grazie per aver controllato la mia domanda!jQuery popola Seleziona elenco in base al valore di immissione testo

risposta

6

creare un oggetto che contiene un array di opzioni:

selectOptions = { 
    milk: ["full fat", "Skimmed", "1% Milk"] 
} 

sulla base di questo, è possibile aggiungere <option> tag al <select> quando il onchange caso in cui le <textarea> incendi:

$('textarea').change(function() { 
    if(selectOptions[$(this).val()]) { // does the selectOptions object have an entry for the value of the textarea? 
     $.each(selectOptions[$(this).val()], function() { // for each array item do 
      $('select').append('<option>' + this + '</option>'); // append an option tag for the array item 
     }); 
    } 
}); 
+0

Grazie per l'aiuto. Ho provato, ma non sembra funzionare. Penso che sto andando male da qualche parte. Se inserissi latte nella casella di testo, l'elenco di selezione verrà popolato con "pieno grasso", "scremato", "1% latte"? – user1779796

+0

l'evento onchange si attiva se si deseleziona la casella di testo .. è anche possibile utilizzare onkeyup, che viene attivato su ogni pressione di un tasto. –

+0

scusa .. non avevo testato il codice che ho scritto;) l'ho aggiornato e funziona ora .. guarda qui per un testcase: http://jsfiddle.net/xeVBm/4/ –

Problemi correlati