Citar
// aqui la eh dejado así null o vacia
/* Ni está null, ni está vacia ni sin definir. Es un number con valor 0. No es lo mismo. */
var nl = 0;
$("#st").click(function (e) {
/* Usa mínimo 2 espacios de identación. A veces usas 1 y otras 2. Comprueba los ajustes de tu editor. */
ObNiveles(id);
Cniveles();
});
function Cniveles() {
//AQUI APARECE 0 NULL O UNDEFINED, TODO DEPENDE DE QUE LE ASIGNE AL INICIO
/* Depende del valor de nl cuando hagas la llamada a la función Cniveles. */
console.log(nl);
var dv = /* Deja siempre el mismo espacio entre el identificador de la variable, el operador de asignación y la expresión. */ $("#levels");
/* No es coherente que antes obtengas por id de esta forma $("#st") y ahora utilizes el método getElementById, usa siempre la misma forma. */
var tabla = document.createElement("table");
var tblBody = document.createElement("tbody");
var cclevels = 0;
for (var i = 0; i < 5; i++) {
var hilera = document.createElement("tr");
for (var j = 0; j < nl; j++) {
//AQUI NUNCA ENTRA COMO SU VALOR NUNCA PASA DE 0
/* Depende del valor que tenga nl cuando llames a la función */
}
}
tblBody.appendChild(hilera);
}
/* Aquí estás fuera de la función Cniveles y estás cerrando un corchete de un cuerpo que no existe o que no pegaste en el foro. Te lo dejo comentado. */
tabla.appendChild(tblBody);
dv.appendChild(tabla);
/*}*/
/* Sigue siempre el mismo patrón a la hora de nombrar variables y funciones. En la función anterior usas una mayúscula de primer letra y en esta usas minúscula */
function ObNiveles(rt) {
var STEP = {
"x" : rt
};
$.ajax({
data: STEP,
url: 'scripts/datagame1.php',
type: 'POST',
success: function(data) {
nl = data;
//aqui me muestra "recibe:2,valor puesto:2", que es totalmente correcto
console.log('recibe:'+data+',valor puesto:'+nl);
/* Aquí estás en una función anónima callback. Esta función se llama cuando se complete la petición al servidor. Todo código que dependa del nuevo valor de nl deber ir aquí o ser llamada desde aquí. */
}
});
}
/* Ni está null, ni está vacia ni sin definir. Es un number con valor 0. No es lo mismo. */
var nl = 0;
$("#st").click(function (e) {
/* Usa mínimo 2 espacios de identación. A veces usas 1 y otras 2. Comprueba los ajustes de tu editor. */
ObNiveles(id);
Cniveles();
});
function Cniveles() {
//AQUI APARECE 0 NULL O UNDEFINED, TODO DEPENDE DE QUE LE ASIGNE AL INICIO
/* Depende del valor de nl cuando hagas la llamada a la función Cniveles. */
console.log(nl);
var dv = /* Deja siempre el mismo espacio entre el identificador de la variable, el operador de asignación y la expresión. */ $("#levels");
/* No es coherente que antes obtengas por id de esta forma $("#st") y ahora utilizes el método getElementById, usa siempre la misma forma. */
var tabla = document.createElement("table");
var tblBody = document.createElement("tbody");
var cclevels = 0;
for (var i = 0; i < 5; i++) {
var hilera = document.createElement("tr");
for (var j = 0; j < nl; j++) {
//AQUI NUNCA ENTRA COMO SU VALOR NUNCA PASA DE 0
/* Depende del valor que tenga nl cuando llames a la función */
}
}
tblBody.appendChild(hilera);
}
/* Aquí estás fuera de la función Cniveles y estás cerrando un corchete de un cuerpo que no existe o que no pegaste en el foro. Te lo dejo comentado. */
tabla.appendChild(tblBody);
dv.appendChild(tabla);
/*}*/
/* Sigue siempre el mismo patrón a la hora de nombrar variables y funciones. En la función anterior usas una mayúscula de primer letra y en esta usas minúscula */
function ObNiveles(rt) {
var STEP = {
"x" : rt
};
$.ajax({
data: STEP,
url: 'scripts/datagame1.php',
type: 'POST',
success: function(data) {
nl = data;
//aqui me muestra "recibe:2,valor puesto:2", que es totalmente correcto
console.log('recibe:'+data+',valor puesto:'+nl);
/* Aquí estás en una función anónima callback. Esta función se llama cuando se complete la petición al servidor. Todo código que dependa del nuevo valor de nl deber ir aquí o ser llamada desde aquí. */
}
});
}