Foros del Web » Programando para Internet » Jquery »

Llenar campo con jquery(Codeigniter)

Estas en el tema de Llenar campo con jquery(Codeigniter) en el foro de Jquery 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 30/10/2014, 12:09
Avatar de chrisdawill  
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 10 años, 8 meses
Puntos: 0
Llenar campo con jquery(Codeigniter)

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;
            
        }
        
    }

Etiquetas: ajax, campo, html, input, javascript, php, select
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 18:28.