Foros del Web » Programando para Internet » Jquery »

Capturar Id de autocompletar

Estas en el tema de Capturar Id de autocompletar en el foro de Jquery en Foros del Web. Hola a todos como están verán tengo la siguiente problema tengo un autocompletar que funciona muy bien pero el problema esta que quiero capturar el ...
  #1 (permalink)  
Antiguo 22/06/2015, 12:47
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Capturar Id de autocompletar

Hola a todos como están verán tengo la siguiente problema tengo un autocompletar que funciona muy bien pero el problema esta que quiero capturar el id de lo que se esta buscando para lo cual tengo lo siguiente en mi Buscador en PHP
Código PHP:
Ver original
  1. function connect() {
  2.     return new PDO('mysql:host=localhost;dbname=demo_crm3', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
  3. }
  4. $pdo = connect();
  5. $keyword = '%'.$_POST['keyword'].'%';
  6. $sql = "SELECT * FROM empresa WHERE jc_empresa_nombre LIKE (:keyword) ORDER BY jc_empresa_id ASC LIMIT 0, 10";
  7. $query = $pdo->prepare($sql);
  8. $query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
  9. $query->execute();
  10. $list = $query->fetchAll();
  11. foreach ($list as $rs){
  12.     $nombre_empresa = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['jc_empresa_nombre']);
  13.     echo '<li value="'.$rs['jc_empresa_id'].'" onclick="set_item(\''.str_replace("'", "\'",$rs['jc_empresa_nombre']).'\')">'.$nombre_empresa.'</li>';
  14. }
ahora para en mi función javascript tengo lo siguiente
Código Javascript:
Ver original
  1. function autocompletar() {
  2.   var min_length = 0;
  3.   var keyword = $('#cliente_id').val();
  4.   if (keyword.length >= min_length) {
  5.     $.ajax({
  6.       url: 'ajax_refresh.php',
  7.       type: 'POST',
  8.       data: {keyword:keyword},
  9.       success:function(data){
  10.         $('#cliente_id_lista').show();
  11.         $('#cliente_id_lista').html(data);
  12.  
  13.       }
  14.     });
  15.   } else {
  16.     $('#cliente_id_lista').hide();
  17.   }
  18. }
  19. function set_item(item) {
  20.   $('#cliente_id').val(item);
  21.   $('#cliente_id_lista').hide();
  22.     $.ajax({
  23.            type: "POST",
  24.            url: "funciones/ubigeo.php",
  25.            data:"c=7&v="+item,
  26.            success: function(data)
  27.            {
  28.     $("#contacto").html("<option value='0'>Seleccione Contacto</option>");
  29.              $("#contacto").append(data);
  30.            }
  31.          });
  32. }
Para mi html tengo lo siguiente
Código HTML:
Ver original
  1. <input type="hidden" name="id_cli" id="id_cli">
  2.             <input type="text" placeholder="Cliente" name="cliente" id="cliente_id" onkeyup="autocompletar()"/>
  3.                 <select name="contacto" id="contacto">
  4.                 <option value="">Seleccione Contacto</option>
  5.             </select>
  6.           <ul id="cliente_id_lista" class="autocompletar"></ul>
lo que deseo es capturar el id del value del li
Código PHP:
Ver original
  1. value="'.$rs['jc_empresa_id'].'"
para poder mandarlo a la BD en el campo hidden que tengo
Código HTML:
Ver original
  1. <input type="hidden" name="id_cli" id="id_cli">

Gracias de antemano
  #2 (permalink)  
Antiguo 23/06/2015, 17:13
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Capturar Id de autocompletar

trate de hacer esto me captura pero solo si escribe todo el nombre de la empresa en el autocompletar
Código Javascript:
Ver original
  1. // change input value
  2.   $('#cliente_id').val(item);
  3.   $("#id_cli").val($("#cl_empresa").val());
  4.   // hide proposition list
  5.   $('#cliente_id_lista').hide();
  6.     $.ajax({
  7.            type: "POST",
  8.            url: "funciones/ubigeo.php",
  9.            data:"c=7&v="+item,
  10.            success: function(data)
  11.            {
  12.               $("#contacto").html("<option value='0'>Seleccione Contacto</option>");
  13.              $("#contacto").append(data);
  14.            }
  15.          });
  16. }
ayuda por favooorrrrrr

Etiquetas: Ninguno
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 03:59.