Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 2. 5. 2013, 09:38:02
v JS mám různý metody k jednomu objektu a část scriptu je v nich hodně podobná. Chtěl bych to nahradit funkcí. Úplně ideální by bylo, kdyby šlo použít něco jako include v PHP.
V metodě mám například: $('#specific').find(".trida-specific").val(this.specific); Všude, kde je slovo specific, bych potřeboval, aby tam tam funkce dosazovala hodnoty podle argumentů té funkce a to this, aby samozřejmě platilo, pro ten konkrétní objekt.. takže by to mohlo vypadat nějak takhle: function (arg1, arg2, arg3) { $('#' + arg1).find('.trida-' + arg2).val(this.arg3); } Ale nevím jak se tam bude chovat to this.. Můžete plís někdo poradit?? |
||
Joker Profil |
#2 · Zasláno: 2. 5. 2013, 10:11:09
quatzael:
Celkem logicky this nebude fungovat, pokud se to nespustí v kontextu toho daného objektu. Ale samozřejmě objekt může sám sebe předat jako argument (například foo(this) ).
Místo this.arg3 by tam asi mělo být jen arg3 a volající by měl správně nastavit hodnotu. |
||
Radek9 Profil |
Hádám, že spíš potřebuje tohle:
this[arg3] . Niceméně to stále neřeší problém s this . Bude to fungovat jen v případě, že to bude další metoda, nebo to budeš volat s call. ;-)
|
||
quatzael Profil |
#4 · Zasláno: 2. 5. 2013, 18:20:19 · Upravil/a: quatzael
Radek9:
Jo, udělal jsem to jako další metodu objektu a funguje to. Díky! No ale teď mi to sem tam hází tuhle chybu: Sizzle.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; Je to z jQuery (řádek 4178) |
||
Radek9 Profil |
#5 · Zasláno: 2. 5. 2013, 21:25:39
quatzael:
To je jen místo, odkud se vyvolává. Spíš pošli finální obsah té výjimky a případně i živou ukázku. Na tom bysme to viděli nejlépe. |
||
quatzael Profil |
#6 · Zasláno: 2. 5. 2013, 22:16:06
Radek9:
už jsem to vyřešil. Omylem jsem zkombinoval uvozovky: ' a ". Nahrazoval jsem tam nějaký části pomocí ctrl+H a neuvědomil jsem si, že tam mám někde uvozovky jinak.. Teď to už funguje. Dík moc! |
||
Časová prodleva: 11 let
|
0