Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2012, 16:01
bigquazar
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 2 meses
Puntos: 0
Como refrescar un div con jquery sin perder la forma

Hola,

estoy creando una aplicacion con jquery.

tengo un DIV contenedor en el cual en una primera instancia hay un enlace a una funcion JS q lo q hace es encapsular todo el (Codigo Html - Datos) en el servidor. Y cargandolo dentro del mismo DIV contenedor con jquery posterior.... me funciona de maravilla con la unica maña, que al cargar ese (Codigo Html - Datos) el formato CSS y plugins Javascript se me van a la mierdd...nose que sucede... he leido y dicen q se debe a que el arbol DOM se carga inicialmente en el evento Ready y ese contenido dinamico q se genera despues no es considerado en tal evento y q se soluciona eventualmente con la funcion .live() o .on() de jquery .....pero nada, intente y nose como es...




Pongo ejemplo , y perdonen la lata :)




DIV contenedor con datos iniciales:

Código PHP:
                <div class="block" id="bloque">
                 
                    <table class="data display datatable" id="example">
                    <thead>
                        <tr>
                            <th>C&oacute;digo</th>
                            <th>Agrupador</th>
                            <th>Grabar</th>
                            <th>Aplica</th>
                            <th>&nbsp;Ver</th>
                        </tr>
                    </thead>
                    <tbody>
                    <?php
                      $sql 
=  "select codigoagrupador, tituloagrupador,GlosaAgrupador, aplica from agrupador"
                      
$result mysql_query($sql);

                      while(
$row =mysql_fetch_array($result))
                         { 
                        
                        echo 
"<tr class='odd gradeX'>\n";
                        echo 
"<td>{$row['codigoagrupador']}</td>\n";
                        echo 
"<td><input class = 'text-plano' type='text' value='{$row['tituloagrupador']}' id='{$row['tituloagrupador']}' /></td>\n";
                        
$Ambito    =    $row['codigoagrupador'];
                        echo 
"<td><a href='#' onclick='MostrarAmbito(\"{$row['codigoagrupador']}\",\"{$row['tituloagrupador']}\",\"{$row['GlosaAgrupador']}\");' >Editar</a></td>\n";
                        
                        if  (
$row['aplica'] == "-1")
                            echo 
"<td><select id='aplica' onChange='SetAmbito(\"{$row['codigoagrupador']}\",this.value);'><option value='-1'>Si</option><option value='0'>No</option></select> </td>\n";
                        else
                            echo 
"<td><select id='aplica' onChange='SetAmbito(\"{$row['codigoagrupador']}\",this.value);'><option value='0'>No</option><option value='-1'>Si</option></select> </td>\n";

                        echo 
"<td><input type='button' id ='btnComponentes'  onClick='TraeComponentes(\"{$row['codigoagrupador']}\");' value='Componentes'  /></td>\n";
                        echo 
"</tr>";
                        
                      }
                
?>
                    </tbody>
                </table>
                </div>

Funciones que cargan HTML:

Código PHP:
        function CargaComponentes(data)
        {
        
            $(
'#bloque').html(data);
        }
        
        function 
TraeComponentes(CodAmb)
        {
            

            $.
ajax({
                
url"php_ajax/trae_componentes.php?CodAmb=" CodAmb,
                
dataType"html"
                
success: function(data){
                    
CargaComponentes(data);
                }
            });
        } 

Pagina trae_componentes.php que encapsula codigo (HTML-Datos):

Código PHP:
    include('../includes/connect.php');
    
$CodAmbito $_REQUEST['CodAmb'];
    
    
$sql      "select CodigoComponente,upper(GlosaComponente) as GlosaComponente,DescripcionComponente,Aplica,Obligatorio ";
    
$sql     .= "from Componentes ";
    
$sql     .= "where CodigoAgrupador = '$CodAmbito'";
    
    
$rst    mysql_query($sql,$link);
    
$n        mysql_num_rows($rst);
    
    
$codigo "";
    

    
    
$codigo  "<a href='#' id='EnlaceAgrupadores' >Agrupador</a><br/>";
    
$codigo .= "<span style='color:#2e5e79;' >{$CodAmbito}</span><br/><br/>";
    
    
$codigo .= "<table class='data display datatable' id='example'>
                <thead>
                    <tr>
                        <th>C&oacute;digo</th>
                        <th>Glosa</th>
                        <th>Aplica</th>
                        <th>Obligatorio</th>
                        <th>Ver</th>
                    </tr>
                </thead>
                <tbody>
    "
;    
    
    for (
$i=0;$i<$n;$i++)
    {
        
$row mysql_fetch_array($rst);
        
$CodComponente $row['CodigoComponente'];
        
        
$codigo .= "<tr>";
        
$codigo .= "<td>$CodComponente</td>";
        
$codigo .= "<td>{$row['GlosaComponente']}<br></td>";
        
        if  (
$row['Aplica'] == "-1")
            
$codigo .= "<td><select id='aplica' onchange='SetComponente(\"$CodAmbito\",$CodComponente,this.value);'><option value='-1'>Si</option><option value='0'>No</option></select> </td>";
        else
            
$codigo .= "<td><select id='aplica' onchange='SetComponente(\"$CodAmbito\",$CodComponente,this.value);'><option value='0'>No</option><option value='-1'>Si</option></select> </td>";
            
            
        if  (
$row['Obligatorio'] == "-1")
            
$codigo .= "<td><select id='aplica' onchange='SetObligaComponente(\"$CodAmbito\",$CodComponente,this.value);'><option value='-1'>Si</option><option value='0'>No</option></select> </td>";
        else
            
$codigo .= "<td><select id='aplica' onchange='SetObligaComponente(\"$CodAmbito\",$CodComponente,this.value);'><option value='0'>No</option><option value='-1'>Si</option></select> </td>";
        
        
        
$codigo .= "<td><input type='button' value='Caracteristicas' onclick='TraeCaracteristicas(\"$CodAmbito\",$CodComponente)' ></td>";


        
$codigo .= "<tr/>";

    }
    
    
$codigo .= "
        </tbody>
    </table>"
;
    
    
    echo 
utf8_encode($codigo); 

Muchas gracias :D seria feliz si alguien sabe cmo solucionar esto.