Código HTML:
$(document).ready(function() { /* OBTENEMOS TABLA */ $.ajax({ type: "GET", url: "editartarea.php?tabla=1" }) .done(function(json) { json = $.parseJSON(json) for(var i=0;i<json.length;i++) { $('.editartarea').append( "<tr><td><input type='checkbox' name='check[]' id='enviar' value='id'/></td><td class='id'>"+json[i].id+"</td><td class='editable' data-campo='nombreTarea'><span>"+json[i].nombreTarea+"</span></td><td class='editable' data-campo='fechaCreacion'><span>"+json[i].fechaCreacion+"</span></td><td class='editable' data-campo='fechaResolucion'><span>"+json[i].fechaResolucion+"</span></td><td class='editable' data-campo='fechaTentativa'><span>"+json[i].fechaTentativa+"</span></td><td class='editable' data-campo='notas'><span>"+json[i].notas+"</span></td>"); } }); var td,campo,valor,id; $(document).on("click","td.editable span",function(e) { e.preventDefault(); $("td:not(.id)").removeClass("editable"); td=$(this).closest("td"); campo=$(this).closest("td").data("campo"); valor=$(this).text(); id=$(this).closest("tr").find(".id").text(); td.text("").html("<input type='text' name='"+campo+"' value='"+valor+"'><a class='enlace guardar' href='#'>Guardar</a><a class='enlace cancelar' href='#'>Cancelar</a>"); }); $(document).on("click",".cancelar",function(e) { e.preventDefault(); td.html("<span>"+valor+"</span>"); $("td:not(.id)").addClass("editable"); }); $(document).on("click",".guardar",function(e) { $(".mensaje").html("<img src='../images/loading.gif'>"); e.preventDefault(); nuevovalor=$(this).closest("td").find("input").val(); if(nuevovalor.trim()!="") { $.ajax({ type: "POST", url: "editartarea.php", data: { campo: campo, valor: nuevovalor, id:id } }) .done(function( msg ) { $(".mensaje").html(msg); td.html("<span>"+nuevovalor+"</span>"); $("td:not(.id)").addClass("editable"); setTimeout(function() {$('.ok,.ko').fadeOut('fast');}, 3000); }); } else $(".mensaje").html("<p class='ko'>Debes ingresar un valor</p>"); }); });