Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] liczenie cen 1 doba za 50zł następna za 40zł
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Mam taki system jak na stronie http://www.hotelgorski.com/rezerwacja.html główny kod mieści się w pliku cena.js kod podlicza cenę z pól input. Potrzebuje zrobić tak aby cena za 1 dobę wynosiła 50zł a za każdą następną 40zł, jak to zrobić?

myślałem o tej funkcji:
  1. function obliczCene(){
  2. wczytajDane();
  3. cena = ((room1 * 40) + (room2 * 40) + (room3 * 40) + (room4 * 40) + (room5 * 40)) * iloscDni;
  4.  
  5. $("#cena_do_zaplaty").text(cena);
  6. $("#naleznosc").val(cena);
  7. }

albo
  1. function obliczIloscDni(){
  2. from = $("#booking_date_from").val();
  3. to = $("#booking_date_to").val();
  4.  
  5. from = from.match(/^(\d{4,4})-(\d{2,2})-(\d{2,2})$/);
  6. to = to.match(/^(\d{4,4})-(\d{2,2})-(\d{2,2})$/);
  7.  
  8. var date1 = new Date(from[1], from[2]-1, from[3]);
  9. var date2 = new Date(to[1], to[2]-1, to[3]);
  10.  
  11. var minutes = 1000*60;
  12. var hours = minutes*60;
  13. var days = hours*24;
  14.  
  15. var diff = Math.abs(date1.getTime() - date2.getTime());
  16.  
  17. iloscDni = Math.round(diff / days);
  18. obliczCene();
  19. }
  20.  

Pozdrawiam

Ten post edytował Lejto 19.10.2010, 05:39:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lejto
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


nie bardzo
zrobiłem coś takiego:
  1. cena = ((room1 * 40) + (room2 * 40) + (room3 * 40)) * iloscDni;
  2.  
  3. if(iloscDni == 1)
  4. {
  5. z = 10;
  6. }
  7.  
  8. if(cena == "")
  9. {
  10.  
  11. }
  12. else
  13. {
  14. $("#cena_do_zaplaty").text(cena+z);
  15. }
  16. if(cena == "0")
  17. {
  18. $("#cena_do_zaplaty").text(cena);
  19. }

i działa

mam jeszcze kłopot z policzeniem ilości dni, kalendarze już zrobiłem teraz tylko jak policzyć dni i dodać je do ceny funkcje już mam tylko potrzebuje przekazać dane
wrzuciłem to na serwer http://zajazdkadar.pl/rezerwacjaa
może tu coś nie tak zrobiłem
  1. $.datepicker.regional['pl'] = {
  2. closeText: 'Zamknij',
  3. prevText: '<< Poprzedni',
  4. nextText: 'Następny >>',
  5. currentText: 'Dziś?',
  6. monthNames: ['Styczeń?','Luty','Marzec','Kwiecień?','Maj','Czerwiec',
  7. 'Lipiec','Sierpie?','Wrzesień?','Październik','Listopad','Grudzień?'],
  8. monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze',
  9. 'Lip','Sie','Wrz','Pa','Lis','Gru'],
  10. dayNames: ['Niedziela','Poniedzialek','Wtorek','Śšroda','Czwartek','Piątek','Sobota'],
  11. dayNamesShort: ['Nie','Pn','Wt','Śšr','Czw','Pt','So'],
  12. dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
  13. weekHeader: 'Tydz',
  14. dateFormat: 'yy-mm-dd',
  15. firstDay: 1,
  16. isRTL: false,
  17. showMonthAfterYear: false,
  18. yearSuffix: ''};
  19. $.datepicker.setDefaults($.datepicker.regional['pl']);
  20. $('#booking_date_from').datepicker();
  21. ;



punki co chodzi ale mam kolejny problem a mianowicie z ceną, dzieci mają mieć 50%, chce wczytać liczbę dzieci i obliczyc ale nic mi nie pokazuje, może źle wczytuje? dobrze to robie?
  1. $(document).ready(function(){
  2. var cena = 0;
  3. var room1 = $("#booking_numRooms1").val();
  4. var room2 = $("#booking_numRooms2").val();
  5. var room3 = $("#booking_numRooms3").val();
  6. var room4 = $("#booking_numRooms4").val();
  7. var dzieci = $("#booking_children").val();
  8. var dorosli = $("#booking_men").val();
  9. var iloscDni = 1;
  10.  
  11. $("#booking_numRooms1").change(function () {
  12. obliczCene();
  13. });
  14.  
  15. $("#booking_numRooms2").change(function () {
  16. obliczCene();
  17. });
  18.  
  19. $("#booking_numRooms3").change(function () {
  20. obliczCene();
  21. });
  22.  
  23. $("#booking_numRooms4").change(function () {
  24. obliczCene();
  25. });
  26.  
  27.  
  28. $("#booking_date_from").change(function () {
  29. if($("#booking_date_to").val()) obliczIloscDni();
  30. });
  31.  
  32. $("#booking_date_to").change(function () {
  33. if($("#booking_date_from").val()) obliczIloscDni();
  34. });
  35.  
  36. $("#cena_do_zaplaty").text(cena);
  37.  
  38.  
  39. function wczytajDane(){
  40. cena = 0;
  41. room1 = $("#booking_numRooms1").val();
  42. room2 = $("#booking_numRooms2").val();
  43. room3 = $("#booking_numRooms3").val();
  44. room4 = $("#booking_numRooms4").val();
  45. dzieci = $("#booking_children").val();
  46. dorosli = $("#booking_men").val();
  47. }
  48.  
  49. function obliczIloscDni(){
  50. ///
  51. }
  52.  
  53. function obliczCene(){
  54.  
  55. wczytajDane();
  56.  
  57. cena = ((room1 * 40) + (room2 * 40) + (room3 * 40)) * iloscDni * dzieci;
  58.  
  59. if(iloscDni == 1)
  60. {
  61. z = 10;
  62. }
  63.  
  64. if(cena == "")
  65. {
  66.  
  67. }
  68. else
  69. {
  70. if(!empty(dzieci))
  71. {
  72. $("#cena_do_zaplaty").text(cena*0.50+z);
  73. }
  74. else
  75. {
  76.  
  77. $("#cena_do_zaplaty").text(cena+z);
  78.  
  79. }
  80. }
  81. if(cena == "0")
  82. {
  83.  
  84. $("#cena_do_zaplaty").text(cena);
  85.  
  86. }
  87.  
  88.  
  89.  
  90.  
  91. $("#naleznosc").val(cena);
  92.  
  93. }
  94.  
  95. });


Ten post edytował Lejto 15.12.2010, 19:01:27
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 12:17