Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] wykrywanie zmiany w dynamicznie dodanym polu
szczeku
post 21.10.2010, 15:10:59
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.08.2010

Ostrzeżenie: (0%)
-----


Witam,
chciałbym zrobić aby po wybraniu odpowiedniej wartosci w polu select, pokazywał się odpowiedni formularz (z tym nie ma problemu), a następnie w tym załadowanym formularzu jest pole typu input gdzie chce wpisać ilość pól które chce aby sie pojawiły, albo za pomaca przycisków dodaj-usuń dodawanie tych pol. Wiem jak zrobić wszystko z osobna jednak nie umiem poradzić sobie z reakcją na zmiane w tym dynamicznie dodanym polu input.
  1. $(document).ready(function() {
  2. $("#fieldtype").change(function () {
  3. var str = "";
  4. $("#fieldtype option:selected").each(function () {
  5. if ($(this).val() == 1) {
  6. str += 'Ilość odpowiedzi : <input type="text" name="ilosc_odpowiedzi" id="ilosc_odpowiedzi"><p id="odpowiedzi"></p>';
  7. }
  8. else if ($(this).val() == 2) {
  9. str += "<input name="+$(this).text() + "values= "+$(this).text;
  10. }
  11. });
  12. $("#field").html(str);
  13. }).change();
  14. $("#ilosc_odpowiedzi").keyup(function() {
  15. var odp = "";
  16. if($(this).val() == 1) {
  17. odp += 'Odpowiedź 1 : <input type="text" name="odp1">';
  18. }
  19. $("#odpowiedzi").html(odp);
  20. });
  21. });


wpisanie w polu ilosc_odpowiedzi nic nie robi, prosze o pomoc.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
pgrzelka
post 22.10.2010, 07:20:51
Post #2





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


do nowo dodanych inputów musisz przypisać akcje po ich utworzeniu
czyli najpierw dodajesz javascriptem inputa, następnie przypisujesz mu akcje, a teraz robisz odwrotnie, przypisujesz akcje do nie istniejącego inputa


--------------------
Go to the top of the page
+Quote Post
erix
post 22.10.2010, 07:28:59
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




albo live(). winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
szczeku
post 24.10.2010, 14:38:53
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.08.2010

Ostrzeżenie: (0%)
-----


Dobra problem rozwiązany. Umieszczam rozwiązanie może komuś sie przyda.
  1. <script src="http://code.jquery.com/jquery-latest.js"></script>
  2.  
  3. $(document).ready(function() {
  4. $("#fieldtype").change(function () {
  5. var text = "";
  6. var input = "";
  7. var odp = "";
  8. $("#fieldtype option:selected").each(function () {
  9. if ($(this).val() == 1) {
  10. text += 'Ilość pól : ';
  11. input = $('<input type="text" name="ilosc_pol" id="ilosc_pol">');
  12. input.keyup(function() {
  13. for(var i=1;i<=$(this).val();i++) {
  14. odp += 'pole '+i+' : <input type="text" name="odp'+i+'"><br>';
  15. $("#odp").html(odp);
  16. }
  17. })
  18. }
  19. else if ($(this).val() == 2) {
  20. //instrukcje dla opcji 2 z lsty rozwijanej
  21. $("#odp").html(odp);
  22. }
  23. });
  24. $("#field").html(text).append(input);
  25. $("#odp").html(odp);
  26. }).change();
  27. });
  28. </head>
  29. <select id="fieldtype">
  30. <option value="">wybierz</option>
  31. <option value="1">1</option>
  32. <option value="2">2</option>
  33. <option value="3">3</option>
  34. <option value="4">4</option>
  35. </select>
  36. <p id="field"></p>
  37. <p id="odp"></p>
  38. </body>
  39. </html>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 11:05