Foros del Web » Programando para Internet » Jquery »

Enviar valor de un input por medio de un boton jquery

Estas en el tema de Enviar valor de un input por medio de un boton jquery en el foro de Jquery en Foros del Web. Buenas compañe@s, Alguien que me pueda ayudar, resulta que por medio de un autocompletar, el cual cuando voy escribiendo la palabra me va dando las ...
  #1 (permalink)  
Antiguo 14/06/2016, 11:10
 
Fecha de Ingreso: enero-2016
Ubicación: Heredia
Mensajes: 35
Antigüedad: 8 años, 10 meses
Puntos: 0
Pregunta Enviar valor de un input por medio de un boton jquery

Buenas compañe@s,

Alguien que me pueda ayudar, resulta que por medio de un autocompletar, el cual cuando voy escribiendo la palabra me va dando las opciones que tengo en la base de datos, cuando le doy click a alguna opción esta se queda en el input (hasta aqui todo perfecto). A la par tengo un boton, que deberia buscar esa palabra en la base de datos y traerme el id y colocarlo en otro input, sin embargo, no logro hacer que se inserte.
Les paso el código que tengo.

La parte del html , el index.php

Código HTML:
Ver original
  1. <form id="formDP" form="DP" baseUrl="<?=base_url();?>">
  2.      <tr>
  3.         <td><label>Descripción Producto: </label></td>
  4.     <td>
  5.     <div class="input_container">
  6.     <input type="text" id="searchDP1" onkeyup="autocomplet()">
  7.     <ul id="DP_id"></ul>
  8.     </div>
  9.     <td align="center"><button class="btn btn-default btn-block" data-          toggle="tooltip" id="sale-add" title="Agregar" onClick="addDescription();"><span class="glyphicon glyphicon-shopping-cart"></span></button></td>
  10.     </td>
  11. </form>

En el boton se hace el llamado al JS
Código Javascript:
Ver original
  1. function addDescription(){
  2.     var description = $('#searchDP1').val();
  3.     var baseUrl = $('#formRegisterEdition').attr('baseUrl');
  4.     $.ajax({
  5.             type: 'POST',
  6.             url: baseUrl+'sales/searchIdDescription',
  7.             success: function(response){
  8.                 var array = eval(response);
  9.                 $('#head-id').val(array[0]);
  10.                 //$('#head-description').val(array[1]);
  11.            
  12.             }
  13.         });
  14.  
  15. }

Llamo al control donde asigno el array y hago el llamo a la base de datos

Código PHP:
Ver original
  1. public function searchIdDescription(){
  2.         $description = $_POST['description'];
  3.         $idDescription = $this->sales_model->searchIdDescrip($description);
  4.         $id = 0;
  5.         $description = '';
  6.         foreach($idDescription as $row){
  7.             $id = $row['producto_id'];
  8.             $description = $row['producto_descripcion'];
  9.         }
  10.         $array = array(0 => $id,
  11.                        1 => $description);
  12.         echo json_encode($array);
  13.     }

Voy a la base de datos

Código PHP:
Ver original
  1. function searchIdDescrip($description){
  2.     $idDP = $this->db->query("SELECT * FROM producto WHERE producto_descripcion LIKE '$description' LIMIT 1");
  3.         return $idDP->result_array();
  4.     }

Espero me puedan dar una mano.

Gracias y Saludos.
  #2 (permalink)  
Antiguo 14/06/2016, 22:41
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Enviar valor de un input por medio de un boton jquery

y en el js donde le estas indicando que data vas a pasar a la url, pues no lo veo y sin ello no te va a arrojar un resultado

prueba asi:

Código Javascript:
Ver original
  1. function addDescription(){
  2.     var description = $('#searchDP1').val();
  3.     var baseUrl = $('#formRegisterEdition').attr('baseUrl');
  4.     $.ajax({
  5.             type: 'POST',
  6.        data: {'description':description},
  7.             url: baseUrl+'sales/searchIdDescription',
  8.             success: function(response){
  9.                 var array = eval(response);
  10.                 $('#head-id').val(array[0]);
  11.                 //$('#head-description').val(array[1]);
  12.            
  13.             }
  14.         });
  15.  
  16. }

aunque sigo con mis reservas
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 15/06/2016, 15:18
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Enviar valor de un input por medio de un boton jquery

Segun mis conocimientos de Jquery, Si no me equivoco el error esta aqui:
Código Javascript:
Ver original
  1. data: {'description':description}

Ell nombre de la clave no debe llevar comillas y el valor menos porque es una variable! Si la clave esta en comillas aun no es json y debes transformarlo porque lo que tienes es un string por lo que cuando llames a la clave description no de dara nada porque el codigo javascript se detuvo alli!
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #4 (permalink)  
Antiguo 15/06/2016, 18:02
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 9 años
Puntos: 39
Respuesta: Enviar valor de un input por medio de un boton jquery

El código de @xfxstudios está teóricamente correcto.

La data de un ajax (hablando de que se usa jquery) se coloca dentro de llaves, entre comillas el nombre que quieres recibir en el php, seguido de dos puntos y la variable que contiene la info. Saludos

Etiquetas: boton, input, medio, valor
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:38.