Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]uwzględnianie checked przy dynamicznym obliczaniu
Forum PHP.pl > Forum > Przedszkole
maksik
Mam poniższy kod wyciągnięty z pętli, jak można tutaj uwzględnić zależność gdy checkbox jest odznaczony to pomija oznaczony przy nim wiersz w sumowaniu?

http://jsfiddle.net/gmyvtbwL/

  1. <table>
  2. <tr>
  3. <td>
  4. <input id="Field_Price_[]" value="1" type="text" />
  5. <input id="Field_Amount_[]" type="text"/>
  6. <input id="Field_Check_[]" type="checkbox" checked="checked"/>
  7. </td>
  8. </tr>
  9. <tr>
  10. <td>
  11. <input id="Field_Price_[]" value="1" type="text"/>
  12. <input id="Field_Amount_[]" type="text"/>
  13. <input id="Field_Check_[]" type="checkbox" checked="checked"/>
  14. </td>
  15. </tr>
  16. <tr>
  17. <td>
  18. <input id="Field_Price_[]" value="1" type="text"/>
  19. <input id="Field_Amount_[]" type="text"/>
  20. <input id="Field_Check_[]" type="checkbox" checked="checked"/>
  21. </td>
  22. </tr>
  23.  
  24. <table>
  25. <tr>
  26. <td><span id="PrintSum">0.00</span></td>
  27. </tr></table>
  28. <script type="text/javascript">
  29. var $prices = $('input[id^=Field_Price_]'),
  30. $amounts = $('input[id^=Field_Amount_]');
  31.  
  32. $prices.add($amounts).on('keyup', function() {
  33. var total = 0;
  34. $prices.each(function() {
  35. total += $(this).val() * $(this).next().val() || 0;
  36. });
  37. $('#PrintSum').text(total.toFixed(2));
  38. })
  39. .trigger('keyup');
  40. </script>
trueblue
http://jsfiddle.net/gmyvtbwL/1/
maksik
super działa, mógłbyś podpowiedzieć gdzie w kodzie js oznaczyć checkbox parametrem onchange aby po jego zmianie odbywało się również obliczenie, a nie gdy tylko input jest kliknięte?
trueblue
Przenieś obliczanie do funkcji. Funkcję wywołaj w onkeyup (obecnym) i podepnij zdarzenie onclick dla $chks, tam również wywołaj tą funkcję.

P.S. W podanym przez Ciebie kodzie są niepoprawne ID elementów.
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.