Autor Zpráva
quatzael
Profil
Potřeboval bych z řetězce udělat nějak proměnnou.
Jde o to, že mám proměnnou s řetězcem, který je zároveň názvem jiné proměnné a potřeboval bych aby se ta první proměnná tvářila jako ta druhá.

příklad:

var promenna_B;

var promenna_A = "promenna_B";

A teď bych potřeboval pomocí té proměnné A pracovat s proměnnou B.

Jde to nějak?
juriad
Profil
quatzael:
Toto nechceš dělat. Popiš, co se snažíš řešit za problém (nikoli popisem mám proměnnou a potřebuju...).
quatzael
Profil
juriad:
To je strašně zdlouhavý na vysvětlování. Prostě se mám nějaký ajaxový funkce, který dosazují do inputů, a ty se mi perou s funkcí change (jQuery). A potřebuju, aby když mi ajax vloží do inputu hodnoty, aby neproběhla funkce change..

Nejjednodušeji se to jeví, že si v ajaxu nastavím proměnnou na false a do change funkce dám podmínku a při false se to neprovede a přenastaví se to zpátky na true..

btw. (vlastně nejde přímo o funkci change, ale setInterval)


Asi by to šlo vyřešit místo klasický proměnný jako pole, ale jen je blbý, že javascript asi neumí přímo asociatvní pole..
_es
Profil
quatzael:
aby když mi ajax vloží do inputu hodnoty, aby neproběhla funkce change..
Zmena vlastnosti value inputu pomocou JS kódu nevyvolá udalosť onchange - vyvolá ju len užívateľská zmena.
Skús nejako zrozumiteľne popísať, čo to má robiť, prípadne aj so živou ukážkou.


quatzael:
javascript asi neumí přímo asociatvní pole..
To „asociatívne pole“ hľadaj pod názvom „objekt“.
quatzael
Profil
_es:
Zmena vlastnosti value inputu pomocou JS kódu nevyvolá udalosť onchange - vyvolá ju len užívateľská zmena.
Psal jsem:
btw. (vlastně nejde přímo o funkci change, ale setInterval) Prostě to zaznamenavá jakoukoli změnu..
juriad
Profil
A co kdybys inputu nastavil atribut data-ignore-change a v intervalu kontroloval jeho existenci (a následně jej smazal)?
Informace o ignorování by byla přímo u inputu, kterého se to týká.
quatzael
Profil
juriad:
to by možná taky šlo, ale s těma proměnnýma/objektama mi to přijde trochu lepší. Až na to, že to teď zkouším a nějak to nefunguje..


A jaká je vůbec správná syntaxe?

objekt mám definovanej takhle:
var hack = new Object();
hack.item = true;

A v tý ajaxový funkci k tomu přistupuju:

var itemkey = "item";
hack[itemkey] = true;

Akorát to nic nedělá, tak nevím jestli to nahodou v tom ajaxu nebere jako lokální promněnou (objekt).. Jde to nějak nastavit globálně případně?
_es
Profil
quatzael:
Prostě to zaznamenavá jakoukoli změnu..
No tak to sprav tak, aby to zaznamenávalo len zmenu z ručnej editácie, bolo ti poradené ako.

Akorát to nic nedělá
A čo by to ako malo robiť? Zmena vlastnosti nejakého objektu nerobí nič zvláštne - len logicky - zmení vlastnosť toho objektu. Z hentakých výsekov kódu ti asi ťažko niekto poradí, pokiaľ nedodáš dostatok dostatočne zrozumiteľných informácií, prípadne aj „živú“ ukážku.
quatzael
Profil
_es:
A čo by to ako malo robiť? Zmena vlastnosti nejakého objektu nerobí nič zvláštne - len logicky - zmení vlastnosť toho objektu.
Právě že to nemění vlastnost..

po tomhle:
var itemkey = "item";
hack[itemkey] = false;

zůstává hack.item pořád true..
_es
Profil
quatzael:
Bez znalosti iných častí kódu ti ťažko poradiť. Základy: platnosť premenných, si si naštudoval?
quatzael
Profil
_es:
Základy: platnosť premenných, si si naštudoval?
"Základy" vidíš, že snad jo.. Ale nevím všechno.. Právě proto se ptám na tu globální platnost těch proměnných/objektů..


_es:
už jsem na to asi přišel.. měl jsem tam tu proměnnou itemkey špatně zpracovanou.. Teď to snad bude fakčit.. musím to celý doladit.. je to strašně komplikovaný..

Každopádně dík za ochotu.
_es
Profil
quatzael:
Stačí toto a toto ako študijný materiál?
quatzael
Profil
_es:
Dík, budu studovat:o)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: