Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Datepicker - zmiana daty
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Amakesh
Witam! Mam w formularzu dwa datepicker'y(domyślnie ustawiona obecna data), z krórych użykownik wybiera datę i dalej wypełnia kolejne pola. Z kilku z tych pól, w tym datepickerów, dane są na bieżąco wczytywane do funkcji, gdzie wykonywane są na nich obliczenia a wyniki wyświetlane w innych polach formularza. Jeśli jednak ustawię datę i wypełnię resztę pól a potem spróbuję zmienić datę, zmieniona wartość nie zostanie wczytana do funkcji - wczyta się dopiero kiedy wyczyszczę konkretne pole. Ja potrzebuję, żeby data wczytywała się do funkcji automatycznie po zmianie na datepickerze.


  1. <div id ="data">*Data przyjazdu:</div> <div id="mres-form5"><?php echo JHTML::calendar(date("Y-m-d"),'mycalendar1', 'date', '%Y-%m-%d',array('size'=>'5','maxlength'=>'10','class'=>' validate[\'required\']',)); ?></div>
  2. <div id="data1">*Data wyjazdu:</div><div id="mres-form6"><?php echo JHTML::calendar(date("Y-m-d"),'mycalendar1', 'date1', '%Y-%m-%d',array('size'=>'5','maxlength'=>'10','class'=>' validate[\'required\']',)); ?></div>




[JAVASCRIPT] pobierz, plaintext
  1. jQuery(document).ready(function() {
  2.  
  3. var $array = [];
  4. var $array2 = [];
  5. var datear ="";
  6. var datedep="";
  7. var datear_="";
  8. var datedep_="";
  9.  
  10.  
  11. jQuery('#date').on('input', function(){
  12. Licz();
  13.  
  14. });
  15. jQuery('#date1').change( function(){
  16.  
  17. Licz();
  18. });
  19.  
  20.  
  21. var Licz = function () {
  22.  
  23. var day1 = "";
  24. var month1 ="";
  25. var year1 = "";
  26.  
  27. var day2 = "";
  28. var month2 ="";
  29. var year2="";
  30.  
  31. datear_ = jQuery('#date').val();
  32. datedep_ = jQuery('#date1').val();
  33. $array = datear_.split("-");
  34. day1 = $array[2];
  35. month1 =$array[1];
  36. year1 = $array[0];
  37. datear = new Date(year1, month1-1, day1);
  38.  
  39. $array2 = datedep_.split("-");
  40. day2 = $array2[2];
  41. month2 =$array2[1];
  42. year2 = $array2[0];
  43.  
  44. datedep = new Date(year2, month2-1, day2);
  45. $array=[];
  46. $array2=[];
  47. days = Math.round((datedep-datear)/(1000*60*60*24));
  48. datear_="";
  49. datedep_="";
  50. }
  51. });
[JAVASCRIPT] pobierz, plaintext
Resurrection
Proponuje wykorzystanie zdarzenia onClose w datepicker i tam pobrania daty np. tak jak poniżej. Następnie wywołania funkcji z argumentem którym będzie odpowiednio sformatowana data.
Kod
var zaznaczonaData=$(this).datepicker({ dateFormat: 'yyyy-mm-dd' }).val();
Amakesh
Temat do zamknięcia
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.