New question

Question:

Date: 14-02-2019 01:20:42 (In Spanish)

problema con autocomplete Jquery-ui[Resolved]

estoy con un problema con el plug-in autocomplete de jquery-ui en codeigniter.
Para empezar a contarles mi problema debo decir que soy un entusiasta en el tema de la programación, muy novato. y estoy siguiendo un tutorial para la creación de un sistema de ventas y control de stock. Dicho esto les explico lo q me gustaría hacer, en mi vista ventas en el campo productos quiero que al escribir 2 letras se active el plu-gin auto complete. creo que el código esta hecho como se me indicó pero por algún motivo no estoy consiguiendo el resultado q busco, mi codigo es el siguiente..

**ESTE ES EL INPUT EN LA VISTA**

    <div class="form-group">
                                <div class="col-md-6">
                                    <label for="">Producto:</label>
                                    <input type="text" class="form-control" id="producto">
                                </div>
                                <div class="col-md-2">
                                    <label for="">&nbsp;</label>
                                    <button id="btn-agregar" type="button" class="btn btn-success btn-flat btn-block"><span class="fa fa-plus"></span> Agregar</button>
                                </div>
                            </div>


**CONFIGURACION DEL PLUG-IN**

    $("#producto").autocomplete({
        source:function(request, response){
            $.ajax({
                url: base_url+"movimientos/ventas/getproductos",
                type: "POST",
                dataType: "json",
                data:{ valor: request.term},
                success:function(data){
                    response(data);
                }
            });
        },
        minLength:2,
        select: function(event, ui){
            data = ui.item.id_producto +"*"+ ui.item.codigo_producto +"*"+ ui.item.nombre_producto +"*"+ ui.item.precio_producto +"*"+ ui.item.stock_producto;
            $("#btn-agregar").val(data);
        },
    });



**FUNCION GETPRODUCTO DEL CONTROLADOR**

    function getproductos()
	{
		//alert("entro en el controlador");
		$valor = $this->input->post("valor"); //CAPTURA LA VARIABLE Q SE ESTA ENVIANDO;
		$clientes = $this->Ventas_models->getproductos($valor); //ALMACENA LO QUE SE RECIBE DEL MODELO GETPRODUCTOS
		echo json_encode($clientes);
	}


**FUNCION GET PRODUCTO DEL MODELO**

public function getproductos($valor)
	{
		//alert("entro en model");
		$this->db->select("id_producto,codigo_producto,nombre_producto,precio_producto,stock_producto");
		$this->db->from("productos");
		$this->db->like("nombre_producto",$valor);
		$resultados = $dthis->b->get();
		//var_dump($resultados);
		return $resultados->result_array();
	}


Espero alguno pueda darme una mano. Muchas gracias de antemano!!
Tags: Autocomplete - PHP Votes: 0 - Answers: 7 - Views: 7 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  •  
      1  
     
    Date: 14-02-2019 01:50:43 Buen Día.
    Fijate en el modelo getproductos en la linea 7, se te cruzaron los dedos.

    $resultados = $dthis->b->get();

    Saludos.
      Votes: 1 - Link answer
     
  • Date: 14-02-2019 02:43:02 Grande Raúl, parece q todas mis preguntas caen con vos.. muchas gracias en serio.. con respecto a tu respuesta fue un error en la transcripción nada mas.. sigue dando el mismo error.. pero como dato adicional falto contar q el plug-in se activa, aparece una lista vacía debajo del campo.. saludos amigo!!   Votes: 0 - Link answer
     
  •  
      1  
     
    Date: 14-02-2019 05:22:55 Estuve mirando lo de autocomplete.
    Evidentemente en los resultados necesita que tengas un indice value y otro label, por lo que en tu consulta del modelo deberias adaptarlo, prueba con reemplazar tu consulta en el modelo por esto, aqui solo traera una arreglo con el id del producto y el nombre del producto, si funciona despues adaptalos a tus necesidades.
    saludos.

    public function getproductos($valor)
        {
            
            $this->db->select("id_producto,codigo_producto,nombre_producto,precio_producto,stock_producto");
            $this->db->from("productos");
            $this->db->like("nombre_producto",$valor);
            $resultados = $this->db->get();
            
            $response = array();
    
            foreach($resultados->result_array() as $row){
                $response[] = array("value"=>$row['id_producto'],"label"=>$row['nombre_producto']);
            }
            return $response;
        }
    
      Votes: 1 - Link answer
     
  • Date: 14-02-2019 07:23:56 Acabo de solucionar mi problema!!! Navegando x ahí me encontré q por alguna razón desconocida a la hora de hacer la consulta a la bd en el modelo se tiene q rotular del mismo modo como se esta llamando en la configuración del plug-in aunq se llamen de la misma forma.. por ejemplo en mi caso, como lo estoy buscando por el campo
    nombre_producto
    en la consulta puse
    nombre_producto as label
    . Y en el
    select
    de la configuración del plug-in en vez de llamar
    nombre_producto
    le llame
    label
    . Y como por arte de magia funciono!! jaja.. gracias x la ayuda de siempre amigo!!
      Votes: 0 - Link answer
     
  •  
      0  
     
    Date: 14-02-2019 11:52:03 Ok, perfecto.
    Saludos
      Votes: 0 - Link answer
     
  •  
      0  
     
    Date: 14-02-2019 11:56:06 Qué curso estas siguiendo, es de pagó? veo que muchos usan codeigniter, voy a tener que incursionar en él...   Votes: 0 - Link answer
     
  • Date: 15-02-2019 00:14:47 no, es un chico que va creando un sistema básico de gestión de tiendas paso a por youtube. es muy instructivo cuando tenes algo de conocimiento, solo q no es muy didáctico, porque no va explicando casi nada va desarrollando directo.. Pero yo q no soy muy avezado en el asunto (jaja) aprendi muchisimo!!
    este es el link del primer video por si quieras hecharle un ojo..

    Creacion de sistema desde cero con codeigniter


      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com