JQuery - Ayuda sobre codigo Jquery en website de prueba

   
Vista:

Ayuda sobre codigo Jquery en website de prueba

Publicado por tafufo (3 intervenciones) el 04/09/2014 05:32:16
Hola:
Tengo el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var numeros = [];
$( "#btndone" ).click(function() {
$myList2 = $("#id333");
numeros.length = 0;
$("#id1 > div").each(function(){
if($(this).hasClass('verde')){
numeros.push($(this).text());
}
});
 
 
$("#idnumber").val("");
$("#idnumber").val(numeros.join(" "));
 
});
 
 
 
$( "#btnreset" ).click(function() {
$( "#id1 > div" ).addClass("blanco");
$("#id222").hide();
n=0;
numeros.length = 0;
$("#idnumber").val("");
$("#idnumber").val(numeros);
 
});

en la sigieunte URL: http://12345.hostinazo.com

Pregunta: que esta mal que ............. numeros.length = 0; ........... no funciona en el boton Reset mientras que en Done si funciona ??

Por favor prueben y si pueden ayudarme se los agradecere de corazon.
Mis saludos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda sobre codigo Jquery en website de prueba

Publicado por xve (557 intervenciones) el 04/09/2014 10:35:24
Hola tafuto, no entiendo muy bien tu código... creo que esto esta mal
1
numeros.length=0;

Creo que no puedes indicarle la longitud a un array... length, simplemente devuelve la longitud del array, pero no la puedes asignar.

Porque razón quieres poner la longitud del array a 0? lo quieres vaciar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda sobre codigo Jquery en website de prueba

Publicado por tafufo (3 intervenciones) el 04/09/2014 17:24:44
Primeramente gracias por responder XVE:
Mis saludos:


Ok le elimine algo al codigo para que este mas claro y explicartelo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var numeros = [];
$( "#btndone" ).click(function() {
 
numeros.length = 0;
    $("#id1 > div").each(function(){
       if($(this).hasClass('verde')){
          numeros.push($(this).text());
       }
       });
 
 
$("#idnumber").val("");
$("#idnumber").val(numeros.join(" "));
 
});
 
 
$( "#btnreset" ).click(function() {
   $( "#id1 > div" ).addClass("blanco");
   $("#id222").hide();
n=0;
numeros.length = 0;
$("#idnumber").val("");


Primero declaro el array numeros vacio.
Luego la funcion al evento click del boton Done, cuando se hace click inicialmente el array esta vacio , pero luego para asegurarme que antes de introducir datos este vacio utilizo {{{{ numeros.length = 0; }}}} , entonces recorro todos los DIVs y el que tenga la ""clase verde"" guardo su valor en el array con push.
El boton Done funciona bien por primera vez , luego manualmente quito y pongo nuevos valores y funciona bien.


El problema esta en el boton Reset que cuando reseteo me carga en el array los numeros previamente presionados y cuando presiono Done aparecen todos esos numeros y en este caso como que {{{{{ numeros.length = 0;}}}}} dentro de la funcion del click del boton Done tampoco funciono.

He probado vaciar el array de esta otra manera {{{{{{ numeros = [ ]; }}}}}}}} y tampoc me ha dado resultado.
He probado hacerlo sin array sino sumando cadenas y nada.

Que opinas ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda sobre codigo Jquery en website de prueba

Publicado por xve (557 intervenciones) el 04/09/2014 19:31:46
Hola Tafufo... haber si me se explicar...

Esto no es un condicional:
1
numeros.length = 0;
Es una asignación/definición, donde indicas que el array numeros esta vacio!!!

Si quieres que sea una condición, tienes que hacer algo así:
1
2
3
4
if(numeros.length == 0)
{
...
}

Mira este código:
1
2
3
4
5
var numeros = [];
numeros.push("hola")
console.log(numeros.length);
numeros.length=0;
console.log(numeros.length);

Devuelve 1 y 0. Esto quiere decir, que cada vez que pones esto: numeros.length=0; vacías el array!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda sobre codigo Jquery en website de prueba

Publicado por tafufo (3 intervenciones) el 05/09/2014 07:21:01
Problema resuelto.......

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var numeros = [];
$( "#btndone" ).click(function() {
 
numeros.length = 0;
    $("#id1 > div").each(function(){
       if($(this).hasClass('verde')){
          numeros.push($(this).text());
       }
       });
 
 
$("#idnumber").val("");
$("#idnumber").val(numeros.join(" "));
 
                                     });
 
 
 
$( "#btnreset" ).click(function() {
   $( "#id1 > div" ).removeClass("verde").addClass("blanco");
   $("#id222").hide();
n=0;
$("#idnumber").val("");
 
                                     });

faltaba algo de codigo, en la parte del reset, hay que quitar la """" clase verde"""" pq nada mas estaba agregandole la """"" la clase blanco """"" y asi a la vista, los cuadros se veian en blanco pero tenian oculto la clase """" verde """ y asi aunque vaciara el array , cuando presionara el boton Done iba a encontrarar mas de 3 elementos con clase """ verde """" y a todos los iba a meter en el array con push....

Gracias por tu tiempo XVE......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda sobre codigo Jquery en website de prueba

Publicado por xve (557 intervenciones) el 05/09/2014 08:31:07
Gracias por compartirlo tafufo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar