Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS, jQuery] .split() - Problem z przesłaniem zmiennej do funkcji.
Hazes
post 10.03.2016, 02:32:09
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.03.2016

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


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.

Ten post edytował Hazes 10.03.2016, 02:35:03
Go to the top of the page
+Quote Post
trueblue
post 10.03.2016, 08:28:31
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Albo przekazuj integer do funkcji, albo w funkcji zamieniaj na integer, lub też traktuj je w case jako stringi.

Ten post edytował trueblue 10.03.2016, 09:24:37


--------------------
Go to the top of the page
+Quote Post
Hazes
post 10.03.2016, 20:55:40
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.03.2016

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


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.
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: 19.07.2025 - 05:27