Problema Popover de Jquery

M

Buenas. Tengo una tablla que carga unos datos dinámicamente, suponed que los datos son usuarios de mediavida, y hay una columna que contiene el avatar, en la que se muestra una foto en miniatura.

Al hacer click en la foto, sale un popover que contiene dos botones (Cambiar foto o eliminar). Pues bien, si le doy a eliminar destruyo ese popover correspondiente a esa celda pero, si por lo que sea, vuelvo a agregar una foto en esa celda, necesito volver a crear ese popover en la misma celda correspondiente (el cual está destruido)

El código es algo así

celda_que_contiene_foto.popover({
   // opciones, contenido etc.
  content: aquí creo los botones
  
// cuando se muestra, agrego los eventos click de los botones onShown: function(){ // aquí "activo los clicks de los botones $('#quitarfoto').on('click', function(){
// aquí tengo que destruir el popover celda_que_contiene_foto.popover('destroy') // esto no funciona (no destruye nada) celda_que_contiene_foto.popover().off(); // esto sí funciona pero no destruye el objeto })
} })

A ver si alguien puede echarme una mano. Saludos

Merkury

¿ #1 Como estas cargando las imágenes en el popover?

1 respuesta
M

#2 No hay imágenes en el popover. Las imágenes están en unas celdas de una tabla, y cuando hago click en ellas, aparece el popover

2 respuestas
Merkury

#3 Vale, ya entiendo tu problema, la cosa es que tu cuando le das a eliminar lo que deberías hacer es lanzar lo correspondiente para eliminar la foto, pero al hacer un 'destroy' y un .off estas desvinculando el evento on click y destruyendo el objeto del popover no la celda que contiene la foto, no se si me explico.

1 respuesta
M

#4 Más o menos.

Imagínate que hay un usuario con avatar. En esa celda aparece su avatar en miniatura, y al hacer click en él aparece un popover con dos botones (cambiar y eliminar). Si le doy a eliminar, me borra la foto y la celda se actualiza (se borra la miniatura y se añade una especia de "+" para agregar foto).

Tengo que destruir el popover correspondiente a esa celda, porque si no, cuando le diera al icono de insertar foto en esa misma celda, me seguiría apareciendo el popover. Hasta aquí todo bien.

El problema viene que si elimino el avatar y el popover correspondiente a la celda, si inserto otro avatar en la misma celda, ésta se actualizará con la miniatura, PERO ya no tengo popover ahí porque está destruido.

1 respuesta
Merkury

#5 Lo que tienes que hacer no es un destroy, es un hide y por detrás actualizar los parametros de los botones.

1 respuesta
M

#6 Si hago un td.popover().hide() me borra la celda entera

Merkury

pues revisate la documentacion del popover (porque eso no es nativo de jquery) y busca a ver como.

De todas maneras prueba con $this.hide();

Usuarios habituales