Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery]problem z manipulacja dynamicznymi elementami
Forum PHP.pl > Forum > Po stronie przeglądarki
trucksweb
mam problem z dynamicznym formularzem obslugiwanym i tworzonym w jquery
tzn.
glowny formularz (dla przykladu)
  1. ....
  2. <option value="1">..</option>
  3.  
  4. <div id="question"></div>
  5.  
  6. <span id="wyslij">wyslij</span>

po wybraniu opcji z selecta, przesylam postem informacje do innego skryptu a nastepnie laduje odpowiedz do diva "question"

w tej odpowiedzi sa inputy ktore moge sobie klonowac i kasowac tez za pomoca jquery

nastepnie klikajac w wyslij sprawdzam czy wszystkie inputy sa wypelnione i niestety:
gdy wybiore cos z selecta i otrzymam opowiedz np. 2 inputy to te 2 inputy mi waliduje,
jesli dodam sobie kolejne 2inputy to tych dodatkowych juz jquery nie widzi, ktos wie czemu ?


nospor
błąd masz w piątej linijce Twojego skryptu.
trucksweb
skrypt do obslugi glownego forma
  1. <script type="text/javascript">
  2. $(function()
  3. {
  4. $("#question-kind").change(function()
  5. {
  6. var box = $.ajax(
  7. {
  8. type: "POST",
  9. url: "<?php echo url_for("@poll_new_question"); ?>",
  10. data: ({kind: $(this).val(), group_id: $("#group-id").val()}),
  11. success: function(box)
  12. {
  13. $("#question").html("");
  14. $("#question").append(box);
  15. }
  16. });
  17. });
  18.  
  19.  
  20. var options =
  21. {
  22. url: '<?php echo url_for("@poll_generate_question"); ?>',
  23. success: updateGroup
  24. };
  25.  
  26. $('#add-new-question').live("click",(function()
  27. {
  28.  
  29. var error = false;
  30. var error_message = "";
  31. var error_answer = "";
  32.  
  33. if($("#question_text").val() == "")
  34. {
  35. error = true;
  36. error_message = "- Treść pytania nie może być pusta.\n";
  37. };
  38.  
  39. $(".question_answer").each(function()
  40. {
  41. if($(this).val() == "")
  42. {
  43. error = true;
  44. error_answer = "- Treść odpowiedzi nie może być pusta.\n";
  45. }
  46. });
  47. alert($(".question_answer").length);
  48. return false;
  49. if(error_message != "" || error_answer != "")
  50. alert(error_message + error_answer+" \nProsimy o poprawienie formularza !");
  51.  
  52. if(error == false)
  53. {
  54. $("#form2").ajaxSubmit(options);
  55. $('#dialog').dialog('close').html("");
  56. return false;
  57. };
  58.  
  59. return false;
  60. }));
  61. function updateGroup(responseText)
  62. {
  63. $("#g-<?php echo $group_id; ?> .group-content").append(responseText);
  64. }
  65.  
  66. });



skrypt do dodwania odpowiedzi
  1. $("#add-new-answer").live("click",(function() {
  2. var answerKind = $("#answer-kind").val();
  3. var id = $("#question-id").val();
  4. var count = $('#question .even').size();
  5.  
  6.  
  7. var answer = $('<div class="even">'
  8. + '<label>Odpowiedź:</label><input type="text" size="45" name="" /> <span class="link remove">[X]</span><br />'
  9. + '<label>Wartość:</label><input type="text" size="35" name="" />'
  10. + '</div>');
  11.  
  12. $("#answers").append(answer);
  13. }));




dodam ze wszystko uruchomione jest na symfony


//
chodzi mi o to, ze alert:

alert($(".question_answer").length);
lub
alert($(".question_answer").size());


zwraca mi zawsze 1, mimo ze mam dodanych wiele odpowiedzi
nospor
szukasz odpowiedzi po:
.question_answer
ale ty dodaj odpowiedź nigdzie ale to nigdzie nie dodajesz do niej .question_answer
No to jakim cudem ma ci coś znaleźć?
trucksweb
w tym samym momencie to zauwazylem sciana.gif
dzieki
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.