Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] CallBack dl zklonowanych pól formularza
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
wicek
Mam formularz:
HTML:
  1. <div id="elements">
  2. <img src="obrazy/plus.png" id="dodaj_upad" style="cursor:pointer" ></img>
  3. <div class="element">
  4. <input type="text" name="upad[]" id="upad">
  5. <select name="polozenie[]" id="polozenie">
  6. <option value="0">Brak</option>
  7. <option value="1">Normalne</option>
  8. <option value="2">Odwrócone</option>
  9. </select>
  10. <div id="test3"></div>
  11. <a href="#"><img src="obrazy/minus.png" style="cursor:pointer"></img></a>
  12. </div>
  13. </div>

jQuery:
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.  
  4. $('#dodaj_upad').click(function(){
  5. $('#elements .element:first').clone().appendTo($('#elements')).find('input').val('');
  6. return false;
  7. });
  8.  
  9. $('#elements .element a').live('click', function(){
  10. var parent = $(this).parents('.element:first');
  11. if($('#elements .element').index(parent)>0) parent.remove();
  12. });
  13.  
  14.  
  15. $("#upad").keyup(function(){
  16. $.post("templates/formularz/jquery/upad.php",{funkcja:"symbol",upad:$(this).val(),polozenie:document.getElementById("polozenie").value},
  17. function(data){
  18. $('#test3').html(data);
  19. });
  20. });
  21. $("#polozenie").change(function(){
  22. $.post("templates/formularz/jquery/upad.php",{funkcja:"symbol",polozenie:$(this).val(),upad:document.getElementById("upad").value},
  23. function(data){
  24. $('#test3').html(data);
  25. });
  26. });
  27. });
  28. </script>


Więc upad.php wykonuje mi obliczenia na danych z pól formularza i zwraca dane do #test3. Wszystko ładnie działa dla rodzica.
W jaki sposób mogę powiązać zklonowane pola input z kodem jquery żeby pobierał dane z nich i wysyłał do obliczenia a wyniki wskakiwały w #test3 dla każdego klona?

Chyba opisałem to jasno:)
Proszę o naprowadzenie.

Pozdrawiam
Wicek

  1. $("#upad").live("keyup",function(){
  2. var parent = $(this).parents('.element:first');
  3. $.post("templates/formularz/jquery/upad.php",{funkcja:"symbol",upad:$(this).val(),polozenie:document.getElementById("polozenie").value},
  4. function(data){
  5. $('#test3').html(data);
  6. });
  7. });


Funkcja live pobiera dane z clone field i dana upad wysyła się dobra tylko teraz nie iwem jak powiązać parent z getelementByid żeby z polozenie pobierało wartość.
Druga sprawa jak powiązac parent z #test3 żeby wyświetlało się w zklonowanym.

Z #test3 sobie poradziłem i wyświetla się w zklonowanym widoku.
  1. $("#upad").live("keyup",function(){
  2. var parent = $(this).parents('.element:first');
  3. $.post("templates/formularz/jquery/upad.php",{funkcja:"symbol",upad:$(this).val(),polozenie:document.getElementById("polozenie").value},
  4. function(data){
  5. $('#test3',parent).html(data);
  6. });
  7. });


Dobra udało mi się dziękuję za pomoc ;p
  1. $("#upad").live("keyup",function(){
  2. var parent = $(this).parents('.element:first');
  3. $.post("templates/formularz/jquery/upad.php",{funkcja:"symbol",upad:$(this).val(),polozenie:$('#polozenie',parent).val()},
  4. function(data){
  5. $('#test3',parent).html(data);
  6. });
  7. });
Comandeer
To coś średnio Ci się udało, skoro $.fn.live nie ma od jakichś 5 wersji jQuery wink.gif Poczytaj lepiej o $.fn.on: http://api.jquery.com/on
wicek
Tylko że w najnowszej wersji 1.11 nie działa mi usuwanie klonów a w wersji 1.5 działa. Będę musiał poszukać rozwiązania chyba że wiesz w czym tkwi problem smile.gif
Comandeer
No bo mowię: $.fn.live nie istnieje i należy zamienić to na $.fn.on
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.