Buenas tardes, tengo un problema que no alcanzo a solucionar, hace tiempo hice un programa para una liguilla de futbol y funciona bien, pero estoy intentando ampliarla para que puedan convivir varias ligas independientes.
Me he decidido por los objetos para aprovchar sus caracteristicas, pero como a todo el mundo que empieza hasta que va asimilando conceptos se vuelve loco con cosas que seguramente que entendiendolas sean faciles.
Lo que he leido sobre ello es bastante escueto y confuso, el caso es que me he clavado en conseguir despues de armar el prototipo e instanciarlo en las ligas necesarias, es que los datos vayan a parar donde yo quiero, cada uno a su liga, no se si me explico, esto es lo que tengo.
// EL PROTOTIPO
var Ligas = function (key,dat,equ,res,hor,cru,cons) {
this.key = new String(key);
this.dat = new String(dat);
this.equ = new String(equ);
this.res = new String(res);
this.hor = new String(hor);
this.cru = new String(cru);
this.cons = new String(cons);
this.datos = new Array();
this.init = init;
this.cargar_dat = cargar_dat;
}
// EL OBJETO
var liga_1 = new Ligas (
"clave",
"ods",
"odu",
"odv",
"oe5",
"ody",
""
);
// CARGO SCRIPT json-in-script y en el callback llama a cargar_dat
function init() {
cargaSRC (this.key, this.cons, this.dat, 'cargar_dat', function(){});
}
// llamo a init para cargar el script y este en el callback llame a cargar_dat
liga_1.init;
// LA FUNCION QUE SE ENCARGA DE RECIBIR LOS DATOS
function cargar_dat(json) {
try {
var datos2 = new Array ();
var entry = json.feed.entry[0];
datos2 = {eq:'',liga:'',tempo:'',tipo:'',grupo:'',idfvf:'', gloc:0,gvis:0,vloc:0,vvis:0,empt:0,nro:0};
datos2.eq = entry["gsx$eq"].$t;
datos2.liga = entry["gsx$lg"].$t;
datos2.tempo = entry["gsx$tp"].$t;
datos2.tipo = entry["gsx$t"].$t;
datos2.grupo = entry["gsx$gr"].$t;
datos2.idfvf = entry["gsx$id"].$t;
datos2.gloc = parseInt(entry["gsx$gl"].$t);
datos2.gvis = parseInt(entry["gsx$gv"].$t);
datos2.vloc = parseInt(entry["gsx$vl"].$t);
datos2.vvis = parseInt(entry["gsx$vv"].$t);
datos2.empt = parseInt(entry["gsx$e"].$t);
datos2.nro = parseInt(entry["gsx$ne"].$t);
this.datos = datos2;
}
catch(er) {
alert("Error en cargarDATOS");
}
} // fin cargar_dat
Lo que quiero saber es como debo de recuperar los datos para que me los almacene en el Array datos de su liga correspondiente, en este caso liga_1.
El problema es que a esta funcion no puedo pasarle parametros, ella devuelve el json.
He probado en el prototipo añadir despues de init la funcion de esta manera this.cargar_datos = cargar_datos; y en la funcion cargar_datos lo siguiente this.datos = datos2; para que me almacene los datos en liga_1.datos pero me lo almacena en window.datos.
¿ Que es lo que estoy haciendo mal para que no me lo reconozca this como liga_1 ?
Creo que en el objeto liga_1 deberia añadir alguna relacion con la funcion cargar_dat pero no se como.
Si alguno de vosotros me pudiese ayudar se lo agradeceria, me esta volviendo loco y todas la referencias que he mirado en internet son bastante confusas.
Un saludo.