2012-10-27 20 views
5


Próbuję napisać kod, który pozwala wypełnić listę wyboru na podstawie wartości wejściowej pola tekstowego.

Na przykład:
Jeśli użytkownik wprowadzi mleko w polu tekstowym, lista wyboru będzie zawierała "full fat", "Skimmed", "1% Milk"
Byłem online i nie mogę znaleźć żadnych informacji, jak to zrobić. Udało mi się automatycznie wypełnić jedną wybraną listę w oparciu o wybór z poprzedniego za pomocą jquery. Jednak nie mogę znaleźć rozwiązania dla korzystania z pola tekstowego.
Dzięki za sprawdzenie mojego pytania!jQuery wypełnić Wybierz listę na podstawie wartości wpisu tekstowego

Odpowiedz

6

utworzyć obiekt zawierający tablice opcji:

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

na podstawie tego, można dodać <option> znaczniki do <select> gdy zdarzenie onchange z <textarea> przeciwwybuchowej:

$('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

Dzięki za pomoc. Próbowałem, ale to nie działa. Myślisz, że gdzieś idę źle. Gdybym wprowadził mleko w polu tekstowym, czy lista wyboru zawierałaby "pełnotłuste", "odtłuszczone", "1% mleka"? – user1779796

+0

Zdarzenie onchange jest wywoływane, jeśli usuniesz zaznaczenie pola tekstowego. Możesz także użyć polecenia onkeyup, które będzie uruchamiane przy każdym naciśnięciu klawisza. –

+0

Przepraszam .. nie testowałem kodu, który napisałem;) zaktualizowałem go i teraz działa .. poszukaj tutaj testówki: http://jsfiddle.net/xeVBm/4/ –