Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Automatyczne wyliczanie ceny netto w formularzu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Savage.Mephisto
Witam Forumowiczów.
Na wstępie chciałbym zaznaczyć, że nie znam zbyt dobrze jQuery, dlatego zwracam się do Was z pytaniem: w jaki sposób napisać zdarzenie on.click, dzięki któremu będzie możliwe, po wpisaniu ceny brutto i wybraniu stawki VAT z pola select, automatyczne obliczenie ceny netto i "wrzucenie" stosownej wartości do pola input formualrza (po kliknięciu na pole input z ceną netto)?

Screen, przedstawiający formularz:


Fragment kodu HTML z formularzem:
  1. <form id="jsForm" role="form" method="post" action="">
  2. <div class="form-group">
  3. <label for="" class="col-sm-5 control-label">Elementów na stronę</label>
  4. <div class="col-sm-6">
  5. <select id="js-vat" name="param[vatValue]" class="select2 no-search">
  6. <option value="0.23">23%</option>
  7. <option value="0.08">8%</option>
  8. </select>
  9. </div>
  10. </div>
  11. <div class="form-group">
  12. <label for="" class="col-sm-5 control-label">Cena netto</label>
  13. <div class="col-sm-6">
  14. <input id="js-netto" type="text" name="param[priceNetto]" class="form-control">
  15. </div>
  16. </div>
  17. <div class="form-group">
  18. <label for="" class="col-sm-5 control-label">Cena brutto</label>
  19. <div class="col-sm-6">
  20. <input id="js-brutto" type="text" name="param[priceBrutto]" class="form-control">
  21. </div>
  22. </div>
  23. <div class="modal-footer">
  24. <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-save"></span> Zapisz</button>
  25. </div>
  26. </form>



Fragment kodu JS:
  1. /* ajax */
  2. var form = $('#jsForm'),
  3. vat = form.find('#js-vat'),
  4. netto = form.find('#js-netto'),
  5. brutto = form.find('#js-brutto'),
  6. jsFormUrl = '';
  7.  
  8. /* zamiana ceny brutto na netto */
  9. netto.on('click', function(){
  10. var vat_value = vat.val();
  11. var brutto_value = brutto.val();
  12.  
  13. var netto_value = (brutto_value*100)/(100+100*vat_value);
  14.  
  15. ajaxPost();
  16. return false;
  17. });


Byłbym wdzięczny za pomoc.
Pyton_000
https://jsfiddle.net/az4gsq9L/

Resztę musisz sobie sam dorobić.
Savage.Mephisto
100-krotne dzięki za poświęcony czas i pomoc.

Tak na marginesie: w moim przypadku cena netto będzie liczona wg wzoru: cena brutto x 100 / 100 + 100 x stawka VAT.

Fragment kodu JS, który to realizuje:
  1. brutto.change(function() {
  2. var priceNetto = brutto.val()*100 / (100+100*vat.val())
  3. netto.val(priceNetto.toFixed(2))
  4. })


Pozdrawiam.
Pyton_000
pomijam babol u siebie (zamiast 1 dałem 100).

Ale cóż to za nowy sposób wyliczania netto ? khee ? smile.gif
Savage.Mephisto
Sposób jak sposób, ważne że działa ;-)
Pyton_000
Ale wiesz o tym że cenę netto wylicza się brutto / 1.23 ?
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.