Foros del Web » Programando para Internet » Jquery »

Funcion next()

Estas en el tema de Funcion next() en el foro de Jquery en Foros del Web. Wenas,, Estoy intentando usar la función next() de Jquery. Tengo un input text con autocomplete y al hacer click en el autocomplete quiero que se ...
  #1 (permalink)  
Antiguo 26/10/2013, 12:13
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Funcion next()

Wenas,,

Estoy intentando usar la función next() de Jquery.

Tengo un input text con autocomplete y al hacer click en el autocomplete quiero que se escriba el value de lo seleccionado en otro input.

Código HTML:
Ver original
  1. <input type="text" id="articulo" name="articulo[]" class="req articuloSerach" style="width:78%" value="<?=$row["articulos"]?>" />
  2.  
  3. <input type="text" id="idarticulo" name="idarticulo[]" class="req" style="width:100%" value="<?=$row["idarticulo"]?>" />

La función que uso es esta:

Código Javascript:
Ver original
  1. $(".articuloSerach").live("focus",function(){
  2.     var este = this;
  3.  
  4.     $.ajax({
  5.       url: "display/stock/articulos.php",
  6.       dataType: 'json',
  7.       data: $(this).serialize(),
  8.       cache: false,
  9.       success: function(result) {
  10.         var items = [];
  11.          for(i=0;i<result.articulos.length;i++){
  12.             items.push({value: result.ids[i], label:result.articulos[i]});
  13.          }
  14.          var resultado = [];
  15.         $(este).autocomplete({
  16.             source: items,
  17.              select: function( event, ui ) {
  18.                          
  19.                 //$("#idarticulo").val(print_r(resultado));
  20.                
  21.                 $(este).val( ui.item.label );
  22.  
  23.                
  24.                 alert($(este).next().val())
  25.  
  26.                 return false;
  27.              }
  28.         });
  29.       },
  30.       error: function(result) {
  31.          alert(print_r(result.responseText));
  32.       },
  33.     });
  34.    
  35. })
  36.  
  37. alert($(este).next().val())

El alert me muestra "undefined" probe de varios formas next("input") pero nada.. siempre sale "undefined".

Ya busque información pero no lo logré hacer funcionar.

Se pueden generar mas input con el mismo nombre por lo que no lo puedo acceder directamente desde un ID.
  #2 (permalink)  
Antiguo 26/10/2013, 12:44
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Funcion next()

Has probado a quitarle el next() ??? Yo solo veo un input con esa clase.
  #3 (permalink)  
Antiguo 26/10/2013, 12:50
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Funcion next()

Cita:
Iniciado por PHPeros Ver Mensaje
Has probado a quitarle el next() ??? Yo solo veo un input con esa clase.
Si ves uno solo porque puse uno solo pero abajo aclare que se podian agregar mas input iguales dinamicamente
  #4 (permalink)  
Antiguo 26/10/2013, 13:05
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Funcion next()

Y qué te parece:

Código Javascript:
Ver original
  1. .next(".articuloSerach")

Seguro que funciona
  #5 (permalink)  
Antiguo 26/10/2013, 13:13
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Funcion next()

Cita:
Iniciado por PHPeros Ver Mensaje
Y qué te parece:

Código Javascript:
Ver original
  1. .next(".articuloSerach")

Seguro que funciona
Me sigue diciendo "undefined" no entiendo porque.

probe asi:

Código Javascript:
Ver original
  1. alert($(este).next(".articuloSerach").val());
  2.  
  3. alert($(este).next(".articuloSerach").html());
  #6 (permalink)  
Antiguo 26/10/2013, 13:29
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Funcion next()

Y en esta línea qué pretendes?

Código:
$(este).val( ui.item.label );
Creo que esa es la raiz del undefined...

Prueba a quitarlo y a ver que pasa
  #7 (permalink)  
Antiguo 26/10/2013, 13:38
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Funcion next()

Ahí coloco lo que seleccionó el usuario desde el autocomplete, si lo quito cuando selecciono desde el autocomplete el campo "artículo" queda en blanco.

"este" hace referencia a "this"

Intento que cuando el usuario seleccione una opción desde el autocomplete me coloque el "value" de esa opción en otro input para despues pasarlo a la base de datos, el "value" en este caso es el ID del artículo que hace referencia.

Como se pueden generar mas campos iguales no les puedo hacer una referencia directa, por eso intentaba utilizar el next() de Jquery que parecia una buena manera de acceder al siguiente elemento pero no esta funcionando
  #8 (permalink)  
Antiguo 26/10/2013, 14:00
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Funcion next()

Pues no me queda nada más que decirte excepto que eches un vistazo al manual de autocomplete

http://api.jqueryui.com/autocomplete/#event-select
  #9 (permalink)  
Antiguo 26/10/2013, 14:14
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Funcion next()

El problema no esta en el autocomplete, sino en intentar colocar un value en otro input que esta al lado no se si me explico :(

El autocomplete funciona bien
  #10 (permalink)  
Antiguo 26/10/2013, 14:26
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Funcion next()

A ver así

Código Javascript:
Ver original
  1. $(esto).next().val( ui.item.label );
  2. alert($(esto).next());
  #11 (permalink)  
Antiguo 26/10/2013, 14:36
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Funcion next()

No quiero cambiarle el value a todos, solo quiero colocarle el value al input "idarticulo" como este se puede generar mas de a 1 vez dinamicamente lo pensaba hacer con "next()"

input id="articulos"
.next().value(ui.item.value)
inpit id="idarticulos"

capaz que me estaba explicando mal.

Cuando el usuario selecciona una opción del autocomplete este trae 2 valores:

label = nombre del artículo
value = id del artículo

con el label no tengo problema porque simplemente utilizando this como referencia a "este elemento" coloco el nombre del artículo.

El problema esta cuando quiero colocar el value "id del artículo" en otro input que se encuentra al lado del input "articulo".

La cuestión es acceder al elemento "idarticulo" y colocarle el "value" que selecciono el usuario.

No lo puedo hacer mediante ID ya que se pueden generar mas de un artículo y el ID debe siempre ser único.

No lo puedo hacer mediante class porque cada ves que el usuario crea un artículo nuevo reemplazaría a todos los input con esa clase.

espero haberme explicado mejor, disculpa si hice mucho entrevero
  #12 (permalink)  
Antiguo 26/10/2013, 14:41
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Funcion next()

Como dicen "una imagen es mejor que mil palabras"


Etiquetas: funcion
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 14:57.