Foros del Web » Programando para Internet » Jquery »

[Jquery] Problema con función y document.ready

Estas en el tema de [Jquery] Problema con función y document.ready en el foro de Jquery en Foros del Web. Qué tal? No soy de postear mucho en este foro ya que recien ahora estoy empezando a interiorizarme un poco mas en Jquery, y estoy ...
  #1 (permalink)  
Antiguo 28/09/2011, 13:51
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
[Jquery] Problema con función y document.ready

Qué tal? No soy de postear mucho en este foro ya que recien ahora estoy empezando a interiorizarme un poco mas en Jquery, y estoy trabado con lo siguiente:

Tengo una funcion que se ejecuta cuando clickeo un link:

Código HTML:
<a class="borrarproducto" href="javascript: fn_eliminar(<?php echo $row['id']; ?>);" title="Borrar"> 
hasta ahi perfecto, lo que busco es eliminar registros de una tabla (Gestionada con el plugin dataTables para Jquery)

Luego viene la función fn_eliminar

Código Javascript:
Ver original
  1. function fn_eliminar(id){
  2.                 $.confirm("Realmente desea borrar el registro?",
  3.                 function(){
  4.                         $.ajax({
  5.                         url: 'proceso/borrarproductos.php',
  6.                         data: 'id=' + id,
  7.                         type: 'POST',
  8.                       success: function() {
  9.                       $.msg("Haz borrado correctamente");
  10.                       recargartabla();
  11.                       }
  12.                      });
  13.                 },
  14.                 function(){
  15.                     $.msg("No se realizó la operación");
  16.                 });
  17.             }

El código funciona perfecto, me borra los productos, pero si notan en el success llamo a una funcion "recargartabla", que es la que haría toda la magia:

Código Javascript:
Ver original
  1. function recargartabla() {
  2.                     oTable = $('#productos').dataTable();
  3.                     oTable.fnReloadAjax();
  4.                     oTable.fnReloadAjax( 'proceso/tablaproductos.php' );
  5.                     };

Esta funcion solo me funciona cuando esta dentro de un document.ready, y el código anterior fuera de el, entonces cuando borro un producto nunca me recarga nuevamente la tabla.


Lo que necesitaría es que fn_eliminar pueda estar dentro de document.ready para que todo funcione en conjunto...

Como podría hacer? Alguien tiene alguna idea? muchas gracias :)
__________________
Me gusta mucho ver Videos de carros en internet :)
  #2 (permalink)  
Antiguo 28/09/2011, 13:57
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: [Jquery] Problema con función y document.ready

primero atengámonos a los estándares:

var oTable = $('#productos').dataTable();

segundo ¿que hace exactamente la función fnReloadAjax? y por qué la llamas 2 veces ¿¿¿???
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 28/09/2011, 14:06
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: [Jquery] Problema con función y document.ready

fnReloadAjax (http://www.datatables.net/plug-ins/api) es una función que trae el plugin dataTables, ponga var o no, funciona correctamente ya que la utilizo en otra parte del codigo. Lo que hace es mediante ajax recargar una tabla que contiene informacion, como estoy borrando un producto de esa tabla, necesito "recargarla" para mostrar que ese registro no existe mas. La llame dos veces por error, pero como te comento, funciona bien en otra parte del codigo (Cuando agrego un producto)
__________________
Me gusta mucho ver Videos de carros en internet :)

Etiquetas: ajax, php
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 15:36.