Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS, jQuery] .split() - Problem z przesłaniem zmiennej do funkcji.
Forum PHP.pl > Forum > Po stronie przeglądarki
Hazes
Witam, posiadam taki oto kod:

  1. $( document ).ready(function() {
  2.  
  3. $(".Kalendarz_Dni").click(function() {
  4.  
  5. var data = $(this).data("data");
  6. var dostepne = $(this).data("dostepne");
  7. var podzielonaData = data.split('-');
  8. var NazwaMiesiaca = ZamienMiesiace(podzielonaData[1]);
  9.  
  10. if(dostepne == 1) {
  11. $(".Kalendarz_Wybrana").text(NazwaMiesiaca);
  12. $(".Kalendarz_Form").fadeIn(300);
  13. }
  14.  
  15. });
  16.  
  17. });


Obiekt w dokumencie wygląda mniej więcej tak:
  1. <td class="Kalendarz_Dni" data-data="2016-03-10" data-dostepne="1">


Po kliknięciu obiektu Kalendarz_Dni, kod pobiera datę z atrybutu data-data z obiektu Kalendarz_Dni, jest ona w formacie 2016-03-10. Następnie dzieli ją funkcja split poprzez ogranicznik "-". Tablica zawiera podzieloną datę - podzielonaData[], więc kiedy dodam kod alert(podzielonaData[1]), po kliknięciu otrzymuję alert z numerem 03 - co znaczy że do tego momentu wszystko działa. Następnie zmienna NazwaMiesiaca przybiera wartość, którą zwraca wcześniejsza napisana przeze mnie funkcja ZamienMiesiace().

Funkcja wygląda tak:

  1. function ZamienMiesiace(miesiac) {
  2. switch(miesiac) {
  3. case 01: nazwa = "Styczeń";break;
  4. case 02: nazwa = "Luty";break;
  5. case 03: nazwa = "Marzec";break;
  6. case 04: nazwa = "Kwiecień";break;
  7. case 05: nazwa = "Maj";break;
  8. case 06: nazwa = "Czerwiec";break;
  9. case 07: nazwa = "Lipiec";break;
  10. case 08: nazwa = "Sierpień";break;
  11. case 09: nazwa = "Wrzesień";break;
  12. case 10: nazwa = "Październik";break;
  13. case 11: nazwa = "Listopad";break;
  14. case 12: nazwa = "Grudzień";break;
  15. }
  16. return nazwa;
  17. }


Sama funkcja działa, sprawdziłem ją. Ale jest jeden problem. Funkcja ZamienMiesiace nie chce pobrać zmiennej z tablicy podzielonaData[1], nie do końca wiem w czym tkwi problem. Tablica działa, funkcja działa, ale funkcja nie chce odczytać argumentu i cały kod przestaje działać.

Jakieś propozycje?

Pozdrawiam,
Hazes.
trueblue
Albo przekazuj integer do funkcji, albo w funkcji zamieniaj na integer, lub też traktuj je w case jako stringi.
Hazes
Cytat(trueblue @ 10.03.2016, 08:28:31 ) *
Albo przekazuj integer do funkcji, albo w funkcji zamieniaj na integer, lub też traktuj je w case jako stringi.


Super, dzięki! smile.gif Zamieniłem zmienną na integer przed dodaniem do funkcji, pomogło.
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.