2011-11-02 89 views
8

Tengo una vista parcial "taskrow" que devolverá una fila de la tabla, estoy usando esto para mostrar las filas en las tablas tan pronto como se hayan actualizado. Necesito reemplazar la fila con "tareas" de clase y reemplazarla con la fila que está cargada, pero estoy luchando con la sintaxis. Creo que el siguiente código está insertando un tr en un tr. He intentado durante mucho tiempo utilizar una combinación de replaceWith y load() pero no he conseguido que esto funcione. ¿Podría alguien ayudarme con esto?Jquery Reemplazar la fila de la tabla en JQuery

$(elem).parent().find("tr.tasks").load("@Url.Action("TaskRow", "Task")", { "id": id}); 
+0

Qué es '$ (elem)'? – Blazemonger

+0

el botón al que se hace clic para llamar a la función que contiene jquery. – DevDave

Respuesta

10

se necesita algo como esto en su lugar:

$.get('@Url.Action("TaskRow", "Task")', {'id': id}, function(data) { 
    $(elem).closest('table').find('tr.tasks').replaceWith(data); 
}); 
+0

yeh, pensé que algo así podría ser la respuesta. Pero si es así, ¿cómo asignaría el .load (.. parte de mi código a la variable de datos? Tiene que estar encadenado a algo correcto, la función .load()? – DevDave

+0

¿Desea reemplazar una fila de la tabla, por lo que ' .load' no es lo que necesitas. Usando '$ .get' puedes emplear una función de devolución de llamada que agrega los datos al DOM de la forma que quieras. – Blazemonger

+0

¡Muchas gracias! ¡Lo hice! – DevDave

7
var newRow = '<tr><td>blahh blah</td><td>blah...</td></tr>'; 
$('#tempID').replaceWith(newRow); 
Cuestiones relacionadas