Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JQUERY] Obliczanie danch z pól formularza
Forum PHP.pl > Forum > Przedszkole
nikos
Witam chciałem zrobić kalkulator BMI. Udało mi się zrobić coś takiego:
  1. $(document).ready(function() {
  2.  
  3. $("a").click(function() {
  4. var total = 0;
  5. var waga = parseFloat($('#waga').attr('value'));
  6. var wzrost = parseFloat($('#wzrost').attr('value'));
  7.  
  8. var total = ((waga)/(wzrost * wzrost));
  9. alert(total);
  10.  
  11. });
  12. });


  1. <form id="bmi">
  2. Waga: <input id="waga" type="text" name="waga" />KG<br />
  3. Wzrost: <input id="wzrost" type="text" name="wzrost" />m
  4. </form>
  5. <a href="">Sprawdz</a>


Po wklepaniu danych i kliknięciu sprawdz wyświetla jako alert BMI
Chciałbym zmodyfikować ten kod aby można było wyświetlać pod spodem BMI. Aby dane wyświetliły się bez przyciskania w przycisk zaraz po wpisaniu (live).
Dodałem więc
  1. <div id="results"></div>

Oraz
  1. $("#results").html(total);

tylko ten drugi nie wiem w którym miejsu umieścić i jaką instrukcję do tego dodać.
Jeśli ktoś zna temat proszę o wsparcię
longinus_torwaldzki
  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2.  
  3. $(document).ready(function() {
  4.  
  5. $("a").click(function() {
  6. var total = 0;
  7. var waga = parseFloat($('#waga').attr('value'));
  8. var wzrost = parseFloat($('#wzrost').attr('value'));
  9.  
  10. var total = ((waga)/(wzrost * wzrost));
  11. alert(total);
  12.  
  13. $("#results").html(total);
  14. return false;
  15.  
  16.  
  17.  
  18. });
  19. })
  20.  
  21. </head>
  22. <form id="bmi">
  23. Waga: <input id="waga" type="text" name="waga" />KG<br />
  24. Wzrost: <input id="wzrost" type="text" name="wzrost" />m
  25. </form>
  26. <a href="">Sprawdz</a>
  27. <div id="results"></div>
  28. </body>
  29.  
nikos
Dziękuję.
Wynik się wyświetla po wciśnięciu przycisku sprawdź. Dokładnie chodziło mi o taką modyfikację która nie będzie potrzebować przycisku tylko po wpisaniu obu danych wynik zostanie automatycznie wyświetlony. Czy jest to do zrobienia?
Pozdrawiam
longinus_torwaldzki
  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2.  
  3. $(document).ready(function() {
  4.  
  5. $("#waga,#wzrost").keyup(function() {
  6. var total = 0;
  7. var waga = parseFloat($('#waga').attr('value'));
  8. var wzrost = parseFloat($('#wzrost').attr('value'));
  9. if (!waga || !wzrost)return false;
  10. var total = ((waga)/(wzrost * wzrost));
  11.  
  12. $("#results").html(total);
  13. return false;
  14.  
  15.  
  16.  
  17. });
  18. })
  19.  
  20. </head>
  21. <form id="bmi">
  22. Waga: <input id="waga" type="text" name="waga" />KG<br />
  23. Wzrost: <input id="wzrost" type="text" name="wzrost" />m
  24. </form>
  25. <a href="">Sprawdz</a>
  26. <div id="results"></div>
  27. </body>
  28.  
nikos
Dokładnie o to chodziło dziękuję!
-Dyniak-
Cześć wszystkim,
Wybaczcie, że odświeżam stary temat, ale chciałem dopytać się o jedną rzecz. Postaram się w miarę starannie opisać problem.

Po otrzymaniu wyniku bmi chciałbym podać drugą wartość, która generowałaby drugi wynik na podstawie pierwszego oraz drugiej zmiennej którą ktoś wprowadzi.
Taki nieco bardziej rozbudowany formularz niż ten gdyż musi "w locie" obliczyć jedną wartość i zaraz obliczyć po podaniu drugiej wartości drugiego wyniku.

Często korzystają z takiego rozwiązania jakieś ubezpieczalnie które na podstawie wcześniejszego wyniku przy podawaniu drugiej np. składki dają kolejne wartości.
Nie wiem czy wyraziłem się dosyć jasno, ale mam nadzieję, że ktoś mi pomoże smile.gif

Pozdrawiam,
Dyniak
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.