Foros del Web » Programando para Internet » PHP »

Llenar campo con jquery y ajax

Estas en el tema de Llenar campo con jquery y ajax en el foro de PHP en Foros del Web. Buenas, he estado con un problemon. He estado buscando en internet, sin suerte, estoy trabajando un proyecto en codeigniter y quiero saber como llenar un ...
  #1 (permalink)  
Antiguo 27/10/2014, 09:59
Avatar de chrisdawill  
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 10 años, 8 meses
Puntos: 0
Llenar campo con jquery y ajax

Buenas, he estado con un problemon. He estado buscando en internet, sin suerte, estoy trabajando un proyecto en codeigniter y quiero saber como llenar un campo despues de seleccionar una opcion de un autocomplete. Les pongo mi codigo para que lo vean:

Codigo del view
Código:
<script type="text/javascript">

    $(document).ready(function(){
                //utilizamos el evento keyup para coger la información
                //cada vez que se pulsa alguna tecla con el foco en el buscador
               
                $(".productos").keyup(function(){
                                
                    //en info tenemos lo que vamos escribiendo en el buscador
                    var info = $(this).val();
                    //hacemos la petición al método autocompletar del controlador autocompletado
                    //pasando la variable info
                    $.post('buscar_productos',{ info : info, tipo: $("#tipo:checked").val()},  function(producto){
                                    
                        //si autocompletado nos devuelve algo
                        if(producto != '')
                        {
                
                            //en el div con clase contenedor mostramos la info
                            $(".contenedor_productos").html(producto);
                        }else{         
                            $(".contenedor_productos").html('');
                                            
                        }
                    })

                })
               $(".contenedor_productos").find("a").live('click',function(e)
                          {
                    e.preventDefault();
                    $("input[name=productos]").val($(this).text());
                    $(".contenedor_productos").html('');

            })
                 $(".productos").change(function(){

                          var prod_precio = $(this).val();

                          $.post('buscar_precio',{ prod_precio : prod_precio }, function(costo){
                             $(".precio").html("costo");
                            //$("input[name=precio]").val(costo);
                          })
                         })
                
            })


    </script> 

</head>
	<body>

  <form id="form_add_ps">

            <p>
              <label>Tipo:</label> <input type="radio" name="tipo" id="tipo" value="1" checked="checked"> Producto &nbsp;&nbsp; <input type="radio" value="2" name="tipo" id="tipo"> Servicio 
            </p>
            <p>
             <label>Nombre:</label> <input type="text" name="productos" id="productos" maxlength="15" onpaste="return false" class="productos" />
            </p>
            <p><div class="contenedor_productos"></div></p>
            <p>
              <label>Precio:</label> <input type="text" class="precio" disabled name="precio" id="precio" style="width:220px">
            </p>
            <p>
              <label>Cantidad:</label><br clear="all"> <input type="text" name="cantidad" id="cantidad" class="text number required"  style="width:220px">
            </p>
            <p align="center"><input type="submit" class="submit mid" id="aceptar" value="Aceptar" /></p>
		
                  </form>

	</body>
</html>
Controlador:
Código:
public function buscar_productos()
    {    
        //si es una petición ajax y existe una variable post
        //llamada info dejamos pasar
        if($this->input->is_ajax_request() && $this->input->post('info'))
        {
            
            $abuscar = $this->security->xss_clean($this->input->post('info'));

            if($_POST['tipo'] == 1){
              $search = $this->autocompletado_model->buscador_productos($abuscar);
            
        }else{
           $search = $this->autocompletado_model->buscardor_servicio($abuscar);
        }
        
        //si existe algún resultado lo devolvemos
        
            //si search es distinto de false significa que hay resultados
            //y los mostramos con un loop foreach
            if($search !== FALSE)
            {
                
                foreach($search as $fila)
                {
                ?>
                    <p><a href=""><?php echo $fila->producto ?></a></p>
                    
                <?php    
                }
                
            //en otro caso decimos que no hay resultados
            }else{
            ?>
                
                <p><?php echo 'No hay resultados' ?></p>
                
            <?php    
            }
            
        }
        
    }
Model:
Código:
public function buscador_productos($abuscar)
    {
        $this->db->select('*');
            
            $this->db->like('producto',$abuscar,'after');
            
            $resultados = $this->db->get('producto', 12);

        if($resultados->num_rows() > 0)
        {
            
            return $resultados->result();
            
        //en otro caso devolvemos false
        }else{
            
            return FALSE;
            
        }
        
    }
  #2 (permalink)  
Antiguo 27/10/2014, 10:17
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Llenar campo con jquery y ajax

Pero si escribes en el foro de PHP es para soluciones en este lenguaje, si tu problema es AJAX o Jquery, pues hay foros para eso.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: ajax, campo, html, jquery, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:49.