Puccini
Neues Mitglied
Hi.
ich mal wieder -.-
ich hab eine einfache funktion, welche mir daten aus einem array formatiert ausgibt.
Im array selbst gibt es das feld "button" und dieses beinhaltet name+funktion die aufgerufen werden soll.
für die klassen-instanzen gibt es dann die methode "getInfo".
Da drin wird die globale "info"-funktion mit den daten versorgt. Klappt!
Nur leider klappt es nicht, das ich die Funktion der jeweiligen Instanz noch ausführen kann, wenn ich auf einen button klicke.
Wenn ich es so schreibe:
geht es, da ja die funktion "update" in der klasse definiert ist (das mit dem data["object"] musste ich so machen, um die instanz zu erhalten. mittels:
weise ich dem html-objekt verschiedene daten zu und uim bei einem click-event wieder die instanz zu bekommen, hab ich das "object" mti gespeichert... ich weis nicht ob das auch anders gänge... sieht mir sehr kompliziert aus!)
wenn ich in der oberen "click"-funktion jedoch versuche dynamisch mittels dem "value" (welcher dann "update()" beinhaltet) die funktion aufzurufen geht das natürlich nicht:
weil die klasse die methode "value" nicht kennt.
gibt es eine art "eval" für das objekt? globalEval hab ich schon probiert, geht nicht.
Kann ich das irgendwie anders lösen? ich sehe grad den wald vor lauter bäumen nicht :<
hier die verschiedenen arten wie ich die buttons setze:
danke für eure hilfe!
ich mal wieder -.-
ich hab eine einfache funktion, welche mir daten aus einem array formatiert ausgibt.
Im array selbst gibt es das feld "button" und dieses beinhaltet name+funktion die aufgerufen werden soll.
für die klassen-instanzen gibt es dann die methode "getInfo".
Da drin wird die globale "info"-funktion mit den daten versorgt. Klappt!
Nur leider klappt es nicht, das ich die Funktion der jeweiligen Instanz noch ausführen kann, wenn ich auf einen button klicke.
Wenn ich es so schreibe:
Code:
if(data["button"])
{
$.each(data["button"], function(key, value){
$('<button>').text(key).click(function(){
$(this).data("object").update();
}).data("object",data["object"]).appendTo('#info');
});
}
Code:
tmpData["object"] = this;
$('<img>').data(tmpData);
wenn ich in der oberen "click"-funktion jedoch versuche dynamisch mittels dem "value" (welcher dann "update()" beinhaltet) die funktion aufzurufen geht das natürlich nicht:
Code:
$(this).data("object").value;
gibt es eine art "eval" für das objekt? globalEval hab ich schon probiert, geht nicht.
Kann ich das irgendwie anders lösen? ich sehe grad den wald vor lauter bäumen nicht :<
hier die verschiedenen arten wie ich die buttons setze:
Code:
tmpData["button"] = {'Update':this.update,'Sell': this.sell};
tmpData["button"] = {'Update':'update()','Sell': 'sell()'};
tmpData["button"] = {'Update':'update','Sell': 'sell'};