Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS][jQuery] Dodanie opcji do wywołanego już skryptu datapicker?
luis2luis
post 21.03.2020, 13:53:46
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.11.2015

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


Witam.
Używam na stronie skrypt dateRangePicke) http://www.daterangepicker.com/#options który działa podobnie do datapicker z zestawu Jquery UI.

Problemem jest to, że wywołuje skrypt z ustawieniami, które w jednym przypadku potrzebuje dodatkowo spersonalizować.

  1. $(document).ready(function() {
  2.  
  3. $(".datepicker_time").daterangepicker({
  4. "singleDatePicker": true,// - tylko pojedyncza data
  5.  
  6. "timePicker": true,
  7. "timePicker24Hour": true,
  8.  
  9. "autoUpdateInput": false, //podstawia przy ladowaniu strony
  10. "autoApply": true,
  11. "showDropdowns": true,
  12. "locale": {
  13. "direction": "ltr",
  14. "format": "YYYY-MM-DD",
  15. "separator": " - ",
  16. "applyLabel": "Zastosuj",
  17. "cancelLabel": "Anuluj",
  18. "fromLabel": "Od",
  19. "toLabel": "Do",
  20. "customRangeLabel": "Zakres",//Custom
  21. "daysOfWeek": [
  22. "Ni",
  23. "Po",
  24. "Wt",
  25. "Śr",
  26. "Cz",
  27. "Pi",
  28. "So"
  29. ],
  30. "monthNames": [
  31. "Styczeń",
  32. "Luty",
  33. "Marzec",
  34. "Kwiecień",
  35. "Maj",
  36. "Czerwiec",
  37. "Lipiec",
  38. "Sierpień",
  39. "Wrzesień",
  40. "Październik",
  41. "Listopad",
  42. "Grudzień"
  43. ],
  44. "firstDay": 1
  45. }
  46. });
  47. });


i teraz potrzebuje w jednym przypadku dodać, aby okienko z kalendarzem wysuwało się w górę a nie w dół jak dla reszty. czyli:

  1. drops: 'up',


Główne wywołanie mechanizmu trzymam w pliku funkcje.js, jak teraz w jednym pliku html dodać nową opcję do użytej opcji dla pola z klasą .datepicker_time?

Ten post edytował luis2luis 21.03.2020, 13:54:23
Go to the top of the page
+Quote Post
trueblue
post 21.03.2020, 15:32:25
Post #2





Grupa: Zarejestrowani
Postów: 5 799
Pomógł: 1598
Dołączył: 11.03.2014

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


  1. <input class="date_picker" data-drops="up"/>
  2. <input class="date_picker" data-drops="down"/>
  3. <input class="date_picker" data-drops="down"/>
  4. <input class="date_picker" data-drops="up"/>


  1. $(".datepicker_time").each(function(){
  2. this.daterangepicker({
  3. "singleDatePicker": true,
  4. drops: this.dataset.drops,
  5. ...
  6. ...
  7. });
  8. });




--------------------
Go to the top of the page
+Quote Post
luis2luis
post 21.03.2020, 18:23:24
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.11.2015

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


Dziękuje bardzo za pomoc.

Musiałem zmienić tylko kawałek kodu z this na $(this) pokazywał się komunikat, że nie ma takiej funkcji smile.gif

Mam jeszcze pewien problem z tym mechanizmem. chciałem uprościć zapis i część parametrów które się powtarzajadać do tablicy i doklejać do każdego wywołania.

  1. $(function() {
  2.  
  3. var datapicker_standard = {
  4. "locale": {
  5. "direction": "ltr",
  6. "format": "YYYY-MM-DD",
  7. "separator": " - ",
  8. "applyLabel": "Zastosuj",
  9. "cancelLabel": "Anuluj",
  10. "fromLabel": "Od",
  11. "toLabel": "Do",
  12. "customRangeLabel": "Zakres",//Custom
  13. "daysOfWeek": [
  14. "Ni",
  15. "Po",
  16. "Wt",
  17. "Śr",
  18. "Cz",
  19. "Pi",
  20. "So"
  21. ],
  22. "monthNames": [
  23. "Styczeń",
  24. "Luty",
  25. "Marzec",
  26. "Kwiecień",
  27. "Maj",
  28. "Czerwiec",
  29. "Lipiec",
  30. "Sierpień",
  31. "Wrzesień",
  32. "Październik",
  33. "Listopad",
  34. "Grudzień"
  35. ],
  36. "firstDay": 1
  37. }
  38. };
  39.  
  40. i wywolanie do ktorego chce dokleic tablice.
  41. $(".datepicker_time").each(function(){
  42. $(this).daterangepicker({
  43. "singleDatePicker": true,// - tylko pojedyncza data
  44.  
  45. "timePicker": true,
  46. "timePicker24Hour": true,
  47.  
  48. "autoUpdateInput": false, //podstawia przy ladowaniu strony
  49. "autoApply": true,
  50. "showDropdowns": true,
  51. drops: this.dataset.drops,
  52. datapicker_standard,
  53.  
  54. "buttonClasses": "btn",//class for both
  55. "applyClass": "red_btn",
  56. "cancelClass": "blue_btn",
  57.  
  58. });
  59. });
  60.  
  61. });
Go to the top of the page
+Quote Post
trueblue
post 21.03.2020, 18:29:25
Post #4





Grupa: Zarejestrowani
Postów: 5 799
Pomógł: 1598
Dołączył: 11.03.2014

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


A w jakim celu część obiektu wydzielasz do zmiennej, a część pozostawiasz w wywołaniu?


--------------------
Go to the top of the page
+Quote Post
luis2luis
post 21.03.2020, 18:52:26
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.11.2015

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


Cytat(trueblue @ 21.03.2020, 18:29:25 ) *
A w jakim celu część obiektu wydzielasz do zmiennej, a część pozostawiasz w wywołaniu?


Wywołuje około 6 takich funkcji. Dla zwykłej daty, daty z czasem, dla przedziałów, dla jeszcze kilku innych przypadków tak to sie robi bardzo dużo kodu.

Np:

  1.  
  2. $(".datepicker").daterangepicker({
  3. "singleDatePicker": true,// - tylko pojedyncza data
  4. "autoUpdateInput": true, //podstawia przy ladowaniu strony
  5. "autoApply": true,
  6. "showDropdowns": true,
  7. datapicker_standard
  8. });
  9.  
  10. $('#datepickerRangeBtn').daterangepicker({
  11. // startDate: start,
  12. //endDate: end,
  13. "autoUpdateInput": false,
  14. "autoApply": true,
  15. "showDropdowns": true,
  16. datapicker_standard,
  17. "buttonClasses": "btn",//class for both
  18. "applyClass": "red_btn",
  19. "cancelClass": "blue_btn",
  20. "linkedCalendars": false,
  21. "alwaysShowCalendars": true
  22. }, cb);
  23.  
  24.  


Ten post edytował luis2luis 21.03.2020, 18:53:55
Go to the top of the page
+Quote Post
trueblue
post 21.03.2020, 18:53:31
Post #6





Grupa: Zarejestrowani
Postów: 5 799
Pomógł: 1598
Dołączył: 11.03.2014

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


https://api.jquery.com/jquery.extend/


--------------------
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: 5.04.2020 - 01:59