Foros del Web » Programando para Internet » Jquery »

Enviar datos hidden autocomplete

Estas en el tema de Enviar datos hidden autocomplete en el foro de Jquery en Foros del Web. Hola estoy probando un autocomlpete, estoy intentando enviar datos hidden a traves del formulario, el autocomplete funciona perfectamente, el problema es que noconsigo enviar las ...
  #1 (permalink)  
Antiguo 16/06/2015, 04:10
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 13 años, 1 mes
Puntos: 1
Busqueda Enviar datos hidden autocomplete

Hola estoy probando un autocomlpete, estoy intentando enviar datos hidden a traves del formulario, el autocomplete funciona perfectamente, el problema es que noconsigo enviar las varaibles dato y cod

archivo conect.php

Código PHP:
    if(isset($_GET['query'])) {
        
$q htmlentities ($_GET['query']);
        try {
            
$bdd = new PDO('mysql:host=host;dbname=bd''user''');
            
$bdd->exec("set names utf8");
        } catch(
Exception $e) {
            exit(
'No ha conectado.');
        }
        
$datos = array();
        
$sqla1 "SELECT objeto, codigo FROM tabla   WHERE objeto  LIKE '%$q%'  GROUP BY  objeto ORDER BY objeto ASC LIMIT 10";
        
        
$resultado $bdd->query($sqla1) or die(print_r($bdd->errorInfo()));
        while(
$row $resultado->fetch(PDO::FETCH_ASSOC)) {
             
$datos['suggestions'][] = array("value" =>(($row['objeto'])),"codigo" => "1""cod" => $row['codigo']);
         
        }
        
        echo 
json_encode($datos);
        
    } 
el archivo del formulario, form.php:
Código PHP:
 <form name="form" action="sheet.php" method="POST" accept-charset="utf-8">
                                        <
input type="text"  id="query"  class="focus"   name="search">
                                        <
input type="hidden" name="dato" id="" value=""/>
                                        <
input type="hidden" name="cod" id="" value=""/>                         
  
</
form>
                        <
div id="selection"></div>

               
<
script type="text/javascript" src="jsValidos/jquery.autocomplete.min.js"></script>
 <script type="text/javascript">
                        $(function(){
                            $('#query').autocomplete({
                                serviceUrl: 'lib/util/conect.php',
                                dataType: 'json',
                                minLength: 2,
                               select : function(event, object){
                                  $('#suggestions').val(object.item.value);
                                  $('#dato').val(object.item.codigo);
                                  $('input[name="dato"]:hidden').val(object.item.codigo);
                                  $('#cod').val(object.item.cod);
                                  $('input[name="cod"]:hidden').val(object.item.cod);
                                  $('#suggestions').slideDown('slow');
                               }});
                        });
                        </script> 
Que es lo que hago mal? alguna ayda?
saludos y gracias
  #2 (permalink)  
Antiguo 16/06/2015, 10:27
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Enviar datos hidden autocomplete

¿Y si pruebas solo así?

Código Javascript:
Ver original
  1. $("[name=dato]").val(object.item.codigo);
  2. $("[name=cod]").val(object.item.cod);

Asegúrate de que object.item.codigo y object.item.cod posean valores.

Por otro lado, veo que también intentas asignar los valores a dichos elementos pero a través de sus id cuando no poseen uno. Si no vas a asignarles un id, mejor no pongas dicho atributo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 16/06/2015, 10:43
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Enviar datos hidden autocomplete

Hola, gracias por responder
he probado y no funciona, el problema que tengo, creo, es en :

Código PHP:
 $datos['suggestions'][] = array.... 
Por cuestiones de plugin necesito la estructura $datos['suggestions'][].

Anteriormente utilizaba

Código PHP:
 $datos[] = array("value" =>($row['objeto']),"codigo" => 1"cod" => $row['codigo']); 
y se enviaban todos los datos del array.
Con esta nueva estructura no se envian los datos, y al no controlar JS ni Jquery no sé si he de modificar la estrucutura de:

Código PHP:
  select : function(eventobject){
$(
'#suggestions').val(object.item.value);
$(
"[name=dato]").val(object.item.codigo);
$(
'input[name="dato"]:hidden').val(object.item.codigo);
$(
"[name=cod]").val(object.item.cod);  $('input[name="cod"]:hidden').val(object.item.cod);
$(
'#suggestions').slideDown('slow');
                               } 
Ya he quitado los id vacios del formulario

Un salud y gracias
  #4 (permalink)  
Antiguo 16/06/2015, 10:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Enviar datos hidden autocomplete

En este caso, prueba mostrando la estructura del valor recibido mediante la consola, es decir:

Código Javascript:
Ver original
  1. console.log(object.item);

Así sabrás cómo está constituida la respuesta.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 17/06/2015, 01:47
 
Fecha de Ingreso: octubre-2011
Mensajes: 104
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Enviar datos hidden autocomplete

Hola, no pude hacer la prueba hasta hoy.
sale esto:

Uncaught ReferenceError: object is not defined
at <anonymous>:2:13
at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
at Object.InjectedScript.evaluate (<anonymous>:694:21)


saludos y gracias
__________________
pips
  #6 (permalink)  
Antiguo 17/06/2015, 08:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Enviar datos hidden autocomplete

¿Colocaste esa línea dentro del método select, verdad?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: autocompletado, hidden, javascript
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 08:50.