Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] Pojawiający się input
Forum PHP.pl > Forum > Przedszkole
Emku
Witam serdecznie,

Problem jest banalny, ale potrzebuję najlepsze rozwiązania, im szybciej tym lepiej.
Posiadam w html select z listą modeli motocykli. Na końcu jest pozycja "Inne", po wybraniu której powinien się pojawić input do którego można wpisać jaki konkretnie model.

Korzystamy oczywiście z jQuery.
sajegib
Polecam koledze skorzystać z .change() i .show() w jquery, gdzie po zmianie .(change) na konkretna wartosc pokazujesz .show() konkretny input
Emku
Ja bym chyba na select dodał onchange funkcyjkę z show jedynie.
Ale jak zidentyfikować, że wybrana została pozycja "Inne" ?
b4rt3kk
Załóżmy, że tak wygląda nasz select:

  1. <select class="check">
  2. <option value="costam">Costam</option>
  3. <option value="inne">Inne</option>


Kod JS:

  1. $(function() {
  2. $('.check').change(function(){
  3. if ($(this).val() == 'inne') {
  4. $('body').append('<input type="text" />');
  5. }
  6. });
  7. });
Emku
Już coraz bliżej.
Tylko takie rozwiązanie ma dwa minusy:
- input będzie sie pojawiał za każdym razem jak wybiorę jakiś model i z powrotem na "inne", wtedy po jakimś czasie mam sto inputów obok tongue.gif
- wybieram "inne" - pojawia mi się input, wybieram z powrotem jakiś model - input nie znika.
sajegib
Nadaj twojemu inputowi jakieś ID albo klasę i show/hide


  1. $(function() {
  2. $('.check').change(function(){
  3. if ($(this).val() == 'inne') {
  4. $('#input').show();
  5. }
  6. else{
  7. $('#input').hide();
  8. }
  9. });
  10. });
Emku
Noi bajobongo.
  1. <!doctype html>
  2. <html lang="pl">
  3. <meta charset="utf-8" />
  4. <title>bajeera</title>
  5. <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
  6.  
  7. $(function() {
  8. $('.check').change(function(){
  9.  
  10. if ($(this).val() == 'inne') {
  11. $('#inny_model').show();
  12. } else {
  13. $('#inny_model').hide();
  14. }
  15. });
  16. });
  17. </head>
  18. <select class="check">
  19. <option value="costam">Costam</option>
  20. <option value="inne">Inne</option>
  21. </select>
  22. <input style="display:none;" type="text" id="inny_model" />
  23. </body>
  24. </html>


Działa jak należy.
sajegib
Gratulacje :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.