Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Prosty kalukator w Jquery
d.stp
post 7.02.2015, 16:21:12
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Szymciosek
post 7.02.2015, 18:07:40
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Może coś w stronę?

Kod
function recalculate() {...}

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

$('twoj_select').on('change', function() { recalculate(); });
Go to the top of the page
+Quote Post
d.stp
post 7.02.2015, 20:35:53
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


A +/- jak ta funkcja powinna wyglądać? Bo kurcze nie wiem jak to wszystko ze sobą połączyć... sad.gif
Go to the top of the page
+Quote Post
Szymciosek
post 7.02.2015, 21:41:12
Post #4





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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

Ten post edytował Szymciosek 7.02.2015, 21:41:59
Go to the top of the page
+Quote Post
d.stp
post 8.02.2015, 11:20:57
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Szymciosek
post 8.02.2015, 21:43:56
Post #6





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.05.2024 - 23:16