Código Javascript :
$(document).ready(function() { listar(); var filtrado; //si escribimos en el campo nombre $("#nombre").keyup(function() { var nombreBusqueda=$("#nombre").val(); filtrado=$.grep(content,function(element){ return content['nombre'] ^= nombreBusqueda; }); console.log(filtrado); for (var i = 0; i < filtrado.length; i++) { var newRow = "<tr>" + "<td>" + filtrado[i].idproducto + "</td>" + "<td>" + filtrado[i].nombre + "</td>" + "<td>" + filtrado[i].marca + "</td>" + "<td>" + filtrado[i].categoria + "</td>" + "<td>" + filtrado[i].precio + "</td>" + "</tr>"; $(newRow).appendTo("#resultado"); } }); }); var content; var data; //click en fila de producto $("#resultado").on("click", function(event){ var id= $(this).find("#ido").html(); alert(id); }); function listar(){ tipofiltro="todos"; $.ajax({ type: "POST", url: "../gestionweb/includes/php/filtroP.php", data: { "tf": tipofiltro}, dataType: "html", error: function(){ alert("error petición ajax"); }, success: function(data){ content=JSON.parse(data); for (var i = 0; i < content.length; i++) { var newRow = "<tr>" + "<td>" + content[i].idproducto + "</td>" + "<td>" + content[i].nombre + "</td>" + "<td>" + content[i].marca + "</td>" + "<td>" + content[i].categoria + "</td>" + "<td>" + content[i].precio + "</td>" + "</tr>"; $(newRow).appendTo("#resultado"); } } }); }; <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Quise crear una variable global para usar la funcion grep en content..Pero filtrado queda vacio.a que se debe?