Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Prosty kalukator w Jquery
Forum PHP.pl > Forum > Przedszkole
d.stp
Próbuję napisać prosty kalkulator, który oblicza kwotę wg. opcji które wybierze użytkownik z formularza na stronie.

Np. ma pole do wpisania ceny:
Z listy wybieranie wybiera 10% i chciałbym to odliczyć od tej kwoty oraz wyświetlić mu w podsumowaniu. Dodatkowo z automatu odejmowane jest 20% tej ceny którą wpisze.

Mam coś takiego:

  1. $('input[name="product_price"]').keyup(function(){
  2. var user_price = $(this).val();
  3. var ps_commision = ((parseInt(user_price) * 20) / 100);
  4. $("#user_price").html(user_price);
  5. $("#commision_for_ps").html(ps_commision);
  6. });


No i wszystko fajnie ładnie oblicza i wyświetla, ale problem pojawia się jak dojdzie do tego jeszcze wybór z jednego selecta (np. tam mam value: 5 / 10 / 15) w procentach i chciałbym to dodatkowo jeszcze odjąć od kwoty którą otrzyma użytkownik.

Tamto sobie wyliczam funkcją keyup (każda zmiana) ale co jak user wybierze najpierw ten select a później dopiero wpisze cenę?

To już ostatni problem na dzisiaj biggrin.gif
Szymciosek
Może coś w stronę?

Kod
function recalculate() {...}

$('input[name="product_price"]').on('keyup', function(){ recalculate(); });

$('twoj_select').on('change', function() { recalculate(); });
d.stp
A +/- jak ta funkcja powinna wyglądać? Bo kurcze nie wiem jak to wszystko ze sobą połączyć... sad.gif
Szymciosek
recalculate() powinna zająć się pobraniem konkretnych wartości z kolejnych inputów...

pobieraj je sobie za każdym razem, gdy wywołasz tą funkcję.

http://jsfiddle.net/6kjLtptc/

mogłaby wyglądać tak, kod powstał na szybko, a jak sobie to ułożysz w plikach u siebie - Twoja sprawa wink.gif
d.stp
Super, o to mi chodziło. Działa jak należy, dzięki wielkie wink.gif

Jeszcze trzy pytanka:

1. Jaką funkcją sprawdzę czy wpisana kwota jest liczbą? Problem jest w tym, że jak wpiszę jakiś ciąg znaków albo jakąś literkę to wywala mi NaN co jest oczywiste, ale jak się przed tym zabezpieczyć?

2. Wpisana przez użytkownika kwota nie może być niższa niż np. 5, ale to będzie proste bo dam tylko prosty warunek if (kwota < 5) i będzie ok?

3. Jest jakaś magiczna funkcja typu number_format (php) dla JS (jquery), która działa na takiej samej zasadzie?
Szymciosek
1) http://stackoverflow.com/questions/1463653...r-in-javascript możesz sobie wybrać
2) Tak
3) Znowu można poszukać w google, są różne potrzeby jak np. http://stackoverflow.com/questions/149055/...y-in-javascript
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.