Ver Mensaje Individual
  #15 (permalink)  
Antiguo 18/03/2010, 10:20
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: jquery obtenga elemento recien agregado por ajax

esta mal tu json, los pares de clave/valos debenentre comillas y los valores de tus atributos html con comillas simples asi no da error con las comillas de inicio

Código HTML:
{
  "response": [
                {
                    "status": "true",
                    "message": "<div class='lspEvent-message msgBox'><p class='success'>The semester has been duplicated successfully.</p></div>",
                    "html": "<tr><td width='22%'>......................",
                    "idInserted": "",
                    "statusCode": "7028"
                }
              ]
}
yo hice un ejemplo solo para leer la clave "html" y funciona bien mira,

json
Código HTML:
{
  "response": [
                {
                "html": "<tr><td><% out.print(request.getParameter("para")); %></td><td>nada</td></tr>",
                }
              ]
}
la parte de <% out.print(request.getParameter("para")); %> es porque es un jsp en php ponele un echo $_GET['para'] y modifica la url

el html y jquery
Código HTML:
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
    $(function (){
        var i = 2;
        $('a').click(function(){
             $.ajax({
                url: "uno.jsp?para="+(i++),
                dataType: "json",
                success: function(data){
                    response = data.response[0];
                    $("table tr:last").after( response.html );
                },
                error: function(){alert("error")}
             });
        });
    });
  </script>
<style>
    tr {background-color:red}
    td{width:100px}
</style>
</head>
<body>
    <a href="#">Insertar</a>
    <table>
        <tr><td>1</td><td>1</td></tr>
    </table>
</body>
</html> 
la variable para envia un valor al json asi vemos que se inserta el resultado despues de la ultima fila

también se puede usar $("#latabla").append( response.html );

Última edición por Dany_s; 18/03/2010 a las 10:26