Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%)
|
Cześć.
W jaki sposób mogę odwołać się do zmiennej 'zmienna' w klasie A za pomocą obiektu b?
|
|
|
|
![]() |
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Czy to podchwytliwe pytanie? Normalnie, pokolei
alert(b.a.zmienna); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%)
|
tak właśnie próbuję zrobić, ale zmienna jest undefined
http://jsfiddle.net/aSfU8/ |
|
|
|
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
No bo nie:
var zmienna = 'a'; a: this.zmienna = 'a'; -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%)
|
Dzięki!
Mam kolejny problem z dostępem do zmiennej 'tracking'. Na początku przypisuje do niej jakiś string, tutaj "start". Następnie zapisuje do niej to co zwraca mi ajax (console.log() w ajax-ie wyświetla to co mnie interesuje). Ale już przy próbie wyświetlenia danej zmiennej poprzez obiekt b, ta zmienna przechowuje wartość ustawionego stringa.
|
|
|
|
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
będąc w AJAX this. nie odnosi się do obiektu A, tylko do obiektu AJAX
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%)
|
Nadal zwraca stringa ustawionego na początku. Nie mam pojęcia o co chodzi.
|
|
|
|
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
A myslisz ze po moim poscie zadzialala magia i samo sie naprawilo??
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%)
|
klasyczne pułapki JavaScript. Chyba każdy przez to przechodził, kto pierwszy raz dosiadł do tego języka
ale to dobrze, bo to znaczy, że wyżej wymienione problemy są opisane w każdym chyba poradniku/podręczniku do JS i w masie tematów na stack overflow... -------------------- |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%)
|
Nie wiem czy dobrze kombiunuję. Znalazłem podobny temat na Stackoverflow, ale jakoś mi nie wychodzi. Pomożecie, naprowadzicie?
Ten post edytował kamil_lk 6.03.2014, 10:32:53 |
|
|
|
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Kod JS to nie PHP. Przestan wkladac to w bbcode PHP.....
Kod function A(){ this.tracking = 'start'; var self = this; this.trackInfo = function(){ $.ajax({ type: "POST", url: "index.php?action=trackInfo", data:{ ajax_value: true }, success: function(msg) { if (typeof msg !== 'undefined') { if (app.fun.isJson(msg)) { self.tracking = jQuery.parseJSON(msg); console.log(this.tracking); } } }, error: function() { console.log('Error!'); } }); } } I juz -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%)
|
Moim problemem było to, że chciałem wykorzystać zmienną zbyt szybko (zanim zostały do niej wpisane dane z ajaxa.
Posłużyłem się funkcją setInterval i teraz mi pięknie śmiga Pozdrawiam. |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%)
|
więc robisz to źle. Jeśli będziesz miał pięć zmiennych pobieranych z ajaxa, to będziesz robił 5 setIntervalów?
mamy tu do czynienia z asynchronicznym wywołaniem funkcji (czyli wywolujesz funkcję ajax, a ona nie daje wyniku od razu, tylko pobiera, pobiera, aż w koncu odpali się zdarzenie 'success'), więc najlepiej wejść w klimat i programować w oparciu o zdarzenia, a nie odpytywać "czy zmienna się pojawiła". polecam przeczytanie: http://webroad.pl/javascript/746-synchroni...synchronicznosc -------------------- |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:49 |