Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] repeticion de selector ??

Estas en el tema de repeticion de selector ?? en el foro de Jquery en Foros del Web. Hola tengo una funcion con json y en la devolucion tengo escrito esto $.each(data,function(index,value) { $('#Albunes').append("<div id='album"+data[index].id_album+.... y continua. A cada elemento lo identifico con ...
  #1 (permalink)  
Antiguo 08/08/2013, 08:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
repeticion de selector ??

Hola tengo una funcion con json y en la devolucion tengo escrito esto

$.each(data,function(index,value) {
$('#Albunes').append("<div id='album"+data[index].id_album+....

y continua.
A cada elemento lo identifico con el numero de indice devuelto, pero resulta que si verifico en el firebug me dice que estoy repitiendo "Albunes" cuando no lo estoy creando, sino que estoy agregando algo nuevo y que estoy repitiendo "album15" que 15 seria el numero de album devuelto por el json.

Si estoy agregando un identificador unico y si al div principal no lo estoy creando porque me sale esta leyenda??

_____________________________

You've used the same selector more than once.

Info
Selector: "#detalleAlbun15"

You should only use the same selector more than once when you know the returned collection will be different. For example, if you've added more elements to the page that may comply with the selector

______________________________

Ademas sale como 5 veces cuando el contenido del data devuelto solo hay un registro verificado por el mismo firebug en respuestas?
La pagina que devuelve los datos tambien la llama una sola vez.

Por la dudas les cuento que lo que quiero hacer es que me cree un div dentro del principal con los datos devueltos. Y que cree tantos divs como datos devueltos haya.

Que estoy poniendo mal??
  #2 (permalink)  
Antiguo 08/08/2013, 21:25
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: repeticion de selector ??

Hola,

Podrias poner un ejemplo de la respuesta en JSON que te da?

En mi caso me retorna con ciertos nombres, asi que ocupo algo asi

Código:
$.each(data, function(key, val)
{
       for(var i in val)
       {
              alert("soy el i"+i);
              alert("soy el valor"+val);
       }
});
Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)
  #3 (permalink)  
Antiguo 09/08/2013, 05:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: repeticion de selector ??

Por supuesto!!

te lo copio tal cual lo muestra el firebug en respuesta

[{"id_album":"15","id_usuario":"33","fecha":"201 3-07-28","titulo":"segundo album","detalle":"probando","privacidad":"1"}]

con puntos comilla y todo lo que incluye.
Ese dato solo figura en la respuesta y es correcto porque hay uno solo.
  #4 (permalink)  
Antiguo 09/08/2013, 10:01
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: repeticion de selector ??

Hola,

Ya, mira lo unico que estas haciendo mal, es el llamado a los valores, debes llamarlos asi

Código:
$.each(data, function(key, val)
{
    $('#Albunes').append('<div id="album'+val["id_album"]+'">'+val["detalle"]+'</div>');                    
});
Donde "val" es la variable que contiene todos los datos, y es un array finalmente, asi que llamas a cada componente como un array

Código:
val["id_album"]
val["id_usuario"]
val["fecha"]
val["titulo"]
val["detalle"]
val["privacidad"]
Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)
  #5 (permalink)  
Antiguo 10/08/2013, 06:43
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: repeticion de selector ??

Gracias!!! hoy mismo lo pruebo y hoy mismo te cuento como salio !!!
  #6 (permalink)  
Antiguo 12/08/2013, 07:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: repeticion de selector ??

Encontre el problema, la solucion pero no la explicacion.

Te pongo un ejemplo, tengo este script

function findURLs3(){
var Msg = jQuery('#estadoImagen');
var MsgStr = Msg.val();
var Arr = MsgStr.split(" ");
for (var n = 0; n < Arr.length; n++){
txtStr = Arr[n];
if(isUrl(txtStr)){
MsgStr = MsgStr.replace(txtStr, "NO SE PUEDE COMPARTIR LINKS");
}
}
Msg.val(MsgStr);
//console.log(MsgStr);
}

asi me sale como selector repetido estadodImagen, porque ejecuta cada vez que presiona una tecla dentro de un texto

Ahora si lo pongo asi funciona sin informacion de errores.

function findURLs3(){
var estIm = document.getElementById("estadoImagen");
var Msg = jQuery(estIm);
var MsgStr = Msg.val();
var Arr = MsgStr.split(" ");
for (var n = 0; n < Arr.length; n++){
txtStr = Arr[n];
if(isUrl(txtStr)){
MsgStr = MsgStr.replace(txtStr, "NO SE PUEDE COMPARTIR LINKS");
}
}
Msg.val(MsgStr);
//console.log(MsgStr);
}

Y asi con todo, no entiendo que esta pasando.
Si especifico $('#cosa') en un if, sale repeticion de selector. Si lo pongo en Swich lo lee todas la veces, pero tanto el if como Swich funcionan correctamente. Esto antes esto no lo hacia.
La solucion la encontre pero no se que es lo que esta pasando, ni se si es la correcta, poque tengo que estar declarando variables por estupideces. si alguien conoce estos caprichos de jquery y lo pueda detallar, realmente ayudaria muchisimo y me aseguraria de estar haciendo lo correcto.

Gracias genios!!!
  #7 (permalink)  
Antiguo 12/08/2013, 19:24
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: repeticion de selector ??

Emmm...

Tengo una duda... aun seguimos con la idea original, de que te retornaba los datos por ajax en JSON??
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)
  #8 (permalink)  
Antiguo 12/08/2013, 19:54
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: repeticion de selector ??

Hola fhede!!

Mira, si y no.
Los datos de Json los da al perfeccion, la creacion de divs y lecturas tambien, pero me informaba que estaba repitiendo selectores.
Probe tu codigo y no me funciono.
Lo mas gracioso es que tambien me daba errores de selectores duplicados con funciones simples con if. Osea que el Json los descarte del posible problema.
Entonces busque y busque que otra cosa podria ser y encontre que alguien tenia un problema similar pero haciendo un timer. Sin entender mucho porque estaba todo en ingles, trate de solucionarlo como lo soluciono esta persona, pasando el selector a una variable y despues llamarla las veces que sea necesario.

No se fhede, si marcar la pregunta como solucionada porque me gustaria saber el "porque" debo pasar a variable los selectores, x ejemplo un div, para despues llamarlo dentro de una simple funcion if.

Es como que escribo mucho por algo simple y no se si es correcto esto o es contraproducente.

Si te parece que la marque solucionada, la marco, no hay problema, pero me voy a quedar con las ganas de saber "porque"
  #9 (permalink)  
Antiguo 12/08/2013, 20:11
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: repeticion de selector ??

Mmmm...

Tengo una web en donde me paso algo similar, tuve que agregarle un for para que identificara bien cada elemento a pesar de que no era necesario, pero fue la unica forma de que no me diera error ya que ocupaba el primer elemento como una especie de bandera para saber si era una nueva linea o no, algo asi

Código:
$.each(data, function(key, val)
{
    for(var i in val)
    {
                //Si el elemento que viene es este entramos y ocupamos todas las variables
        if(i == "id_album")
        {
            $('#Albunes').append('<div id="album'+val["id_album"]+'">'+val["detalle"]+'</div>');
        }
    }
});
Bueno, si necesitas mas ayuda me envias un Mensaje Privado.

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)
  #10 (permalink)  
Antiguo 13/08/2013, 05:39
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: repeticion de selector ??

Gracias Fhede!!

La verdad me ayudastes un monton, porque me diste otra posibilidad de manejar el each en caso que se revele a las devoluciones de Json y por lo que me decis parece que estas cosas locas son comunes en los servidores, parece que cada servidor tiene su locura individual y tenemos que estar adaptandonos a ellas.

Marco el tema solucionado para que no me tiren las orejas y cualquier cosa te envio un mensaje privado

Gracias Genio!!!

Etiquetas: repeticion, selector
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:39.