Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] undefinied zamiast wartosci - zasieg ?
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


mam w buttonie na stronie
  1. OnClick="dod_wiele('157774, 157745, 157714, 157639, 157617, 157584, 157567, 157565, 157563, 157528, 157481, 157420, 157405, 157387, 157235');


w javascript wyglada to tak:
[JAVASCRIPT] pobierz, plaintext
  1. function dod_wiele(tablica_)
  2. {
  3. tablica = tablica_.split(',');
  4.  
  5. console.log(tablica);
  6. console.log('length: '+tablica.length);
  7.  
  8. for(i=0; i < tablica.length; i++){
  9.  
  10. setTimeout(function() {
  11. console.log('test 3, id: '+tablica[i]+', product_id: '+jQuery('#produkt_id_'+tablica[i]).val()+', ilosc: '+jQuery('#a_ilosc_'+tablica[i]).val());
  12. }, i*2000);
  13. }
  14. }
[JAVASCRIPT] pobierz, plaintext


i w setTimeout nie przekazuje mi zmiennych. Dokładnie to co wywala przegladarka:

Cytat
["157774", "157745", "157714", "157639", "157617", "157584", "157567", "157565", "157563", "157528", "157481", "157420", "157405", "157387", "157235"] produkt.js:645
length: 15
(15 razy) test 3, id: undefined, product_id: undefined, ilosc: undefined


musze miec setTimeout bo wykonuje 15 razy okreslony kod z roznymi zmiennymi po ktorym wykonaniu musi byc chociaz chwila przerwy. Tylko czemu jest undefinied ? Zasieg zmiennych ? Juz poltorej godziny sie mecze z roznymi rozwiazaniami i nic ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
session
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 22
Dołączył: 11.04.2010
Skąd: Tarnów

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


W dodatku zwróć uwagę na
Kod
('#produkt_id_'+tablica[i])
jeśli podasz tablicę w takiej postaci:
Kod
'157774, 157745, 157714, 157639, 157617, 157584, 157567, 157565, 157563, 157528, 157481, 157420, 157405, 157387, 157235'
prawdopodobnie tam też dostaniesz undefined ze względu na występowanie spacji, split(',') pozbędzie się jedynie ,. Zatem albo popraw dane, albo split. Możesz też przecież przekazać do funkcji od razu tablicę nie marnując niepotrzebnie czasu na działanie split().
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 - 09:50