Foros del Web » Programando para Internet » Jquery »

Ayuda con Jquery + reconocimiento de id

Estas en el tema de Ayuda con Jquery + reconocimiento de id en el foro de Jquery en Foros del Web. buenas gente tengo este dilema, se trata queutilizo la libreria jquery para generar autocomplete y que me consulte algunos resultados a una base de datos, ...
  #1 (permalink)  
Antiguo 11/11/2010, 08:24
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 15 años
Puntos: 2
Ayuda con Jquery + reconocimiento de id

buenas gente tengo este dilema,

se trata queutilizo la libreria jquery para generar autocomplete y que me consulte algunos resultados a una base de datos, eso esta ok pero el problema que me tienen enfermo es debido a que cuando se trata de agregar una fila nueva esta la crea pero al final cuando trato de consultar stock del codigo que ingrese este me muestra los del primer codigo que ingrese e tratado e modificar los id pero creanme que de haber dado tantas vueltas no lo he logrado.

el codigo con que creo las filas dentro de la tabla es este
Código HTML:
<script>tr = $('tr:last', '#tabla');
		$('#agregarFila').live('click', function (){
		tr.clone().appendTo(tabla).find(':text').val('');
		});
		$(".eliminarFila").live('click', function (){
        $(this).closest('tr').remove();
		});</script> 
y en el los imputs del html es esto
Código HTML:
<td align='center'><input type='text' name='xarticulo[]' id="xarticulo[]" class='articulos' style="font-size:12px "  onchange='stock();' onclick='valida_form();'/></td>
				<td align='center'><input type='text' name='zdocenas[]'  id='zdocenas[]' size='4' maxlength='3' style="font-size:12px "/></td>
				<td align='center'><input type='text' name='zpares[]'  id='zpares[]' size='4' maxlength='3' style="font-size:12px "/></td>
				<td align='center'><input type='text' name='zunidades[]'  id='zunidades[]' size='4' maxlength='3' style="font-size:12px "/></td>
				<td align='center'><div id='precio'></div></td>
				<td align='center'><input type='text' name='zprecio' size='6'/></td> 
los id y nombre los listo como array para que al momento de enviar estos datos a una pagina php me arroje los nombre en arreglos, y los id son para poder identificarlos

espero me puedan ayudar a solucionar este enredo.

gracias.
  #2 (permalink)  
Antiguo 11/11/2010, 09:25
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Ayuda con Jquery + reconocimiento de id

no entendi

vas creando filas pero no podes recuperar un campo donde tienes stock?
  #3 (permalink)  
Antiguo 11/11/2010, 09:30
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda con Jquery + reconocimiento de id

claro voy creando filas y las filas tienen su id=articulo 1,2,3,4,5,6 etc. dependiendo de las filas que el usuario coloque.
el problema esta en ese punto, ya que no se como puedo saber el stock del articulo con id 5 o del 2 o del 6.
ya que siempre me toma el del articulo con id1 o mejor dicho cuando le saco los corchetes [] al id me funciona perfectamente pero solo con el primer resultado.

osea como las filas se agregan con un boton, como lo muestra el codigo anterior.

por eso coloque los corchetes en el id[] para que cuando se creara una fila nueva se distinta a la anterior
  #4 (permalink)  
Antiguo 11/11/2010, 09:47
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Ayuda con Jquery + reconocimiento de id

corchetes no va en el id, fijate como se puede formar
http://www.w3schools.com/tags/att_standard_id.asp


en cuanto al acceso de ese campo como lo estas haceindo?
  #5 (permalink)  
Antiguo 11/11/2010, 09:53
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda con Jquery + reconocimiento de id

en cuanto al acceso hago esto

Código HTML:
function muestraStock()
{

//	var articulo = $("input[name='xartic\\\\']").val();
        var articulo = document.getElementById("xarticulo").value();

//	alert(articulo);

	$.post("mstock.php",
	{articulo : articulo },
		function(resultado){
			var $dialog = $('<div></div>')
		    .html('El Stock del Articulo '+ articulo +'       es : '+ resultado)
		    .dialog({
			autoOpen: false,
			title: 'STOCK DISPONIBLE'
		 });
		  $dialog.dialog('open');
		  return false;
		});

}
si te fijas lo que esta comentado lo tome de unos ejemplos que sale en jquery pero no me funciona.
  #6 (permalink)  
Antiguo 11/11/2010, 18:12
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Ayuda con Jquery + reconocimiento de id

no sé en qué evento o momento quieres consultar el stock, o sea la función muestraStock


te hago con un evento change en el input class='articulos'


Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  4.     </head>
  5.         <script type="text/javascript">
  6.         $( function (){
  7.  
  8.                 tr = $('tr:last', '#tabla');
  9.         $('#agregarFila').live('click', function (){
  10.                     tr.clone().appendTo(tabla).find(':text').val('');
  11.         });
  12.  
  13.                 $('.articulos').live('change', function (){
  14.                     alert ("Consultar stock de " + $(this).val() );
  15.                 });
  16.  
  17.         });
  18.  
  19.         </script>
  20.     <style>
  21.     </style>
  22.     <body>
  23.         <button id="agregarFila">Agregar</button>
  24.         <table id="tabla">
  25.             <tbody>
  26.                 <tr>
  27.                     <td><input type='text' name='xarticulo[]' class='articulos'/></td>
  28.                 </tr>
  29.             </tbody>
  30.         </table>
  31.  
  32.     </body>
  33. </html>


lo que haces con var articulo = $("input[name='xartic\\\\']").val();
no te sirve porque selecciona muchos input, y con val() te saca el valor del primero

var articulo = document.getElementById("xarticulo").value(); eso tampoco porque es para 1 elemento
  #7 (permalink)  
Antiguo 12/11/2010, 13:27
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda con Jquery + reconocimiento de id

Código HTML:
<html>
<script>
		$('.articulos').live('change', function (){
            var articulo = $(this).val();
	$.post("mstock.php",
	{articulo : articulo },
		function(resultado){
			var $dialog = $('<div></div>')
		    .html('El Stock del Articulo '+ articulo +'       es : '+ resultado)
		    .dialog({
			autoOpen: false,
			title: 'STOCK DISPONIBLE'
		 });
		  $dialog.dialog('open');
		  return false;
		});

	});
</script>

<tabla border ='1'>
  <tr>
             <td><input type='text' name='xarticulo[]' class='articulos'/></td>
             <td><input type='text' id='cantidad'/></td>
             <td><div id='precio'></div></td>
            <td  onclick="muestraStock();" ><div href='#'><b><font color="green">Ver Stock</font><b></div>
  </tr>

</table>

<html> 
bueno cuando hago click sobre Ver sotck el cual debe estar en cada fila tiene que mostrarme el stock que esta para el codigo de la fila.

lo modifique y claro me muestra el stock del codigo, pero el problema esta en que al hacer click sobre "Ver Stock" para mostrar el stock y no cuando ingreso el codigo.
  #8 (permalink)  
Antiguo 12/11/2010, 13:37
Avatar de sonics2008  
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 60
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda con Jquery + reconocimiento de id



mira acá esta la imagen de lo que quiero hacer o mejor dicho lo que estoy haciendo

lo que es rut se completa con jquery con autocomplete.

articulo lo mismo, ademas este crea el valor del precio lista de 490, osea muestra lo que cuesta el producto y eso lo tengo con jquery, y cuando pincho sobre ver sotck me muestra una ventan con el stock del producto de la fila
  #9 (permalink)  
Antiguo 12/11/2010, 13:57
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Ayuda con Jquery + reconocimiento de id

tenes que aprender a moverte por el arbol fijate los ejemplos de la doc http://api.jquery.com/category/traversing/

si tu detalle de articulo esta formado por una fila que contiene
un td con idArticulo, otro td con unidades, otra con detalle y lo que sea y en esa misma fila tenes un link para ver el stock o cualquier info de ese código pero en si lo que necesitas es recuperar el código te moves:
1. desde el link hasta el tr
2. de ese tr al td que contiene el código
3. recuperas el texto

Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  4.     </head>
  5.         <script type="text/javascript">
  6.         $( function (){
  7.             $('.verStock').live('click', function (){
  8.                 var id = $(this).closest('tr').find('.idArticulo').text();
  9.                 alert ("Consultar stock de " + id);
  10.                 return false;
  11.             });
  12.         });
  13.  
  14.         </script>
  15.  
  16.     <body>
  17.         <table id="tabla">
  18.             <tbody>
  19.                 <tr>
  20.                     <td class="idArticulo">0001</td>
  21.                     <td><a href="#" class="verStock">Ver Stock</a></td>
  22.                 </tr>
  23.                 <tr>
  24.                     <td class="idArticulo">2222</td>
  25.                     <td><a href="#" class="verStock">Ver Stock</a></td>
  26.                 </tr>
  27.             </tbody>
  28.         </table>
  29.  
  30.     </body>
  31. </html>

ahi dice que cuando le den un click al enlace ver stock desde ese link (reconoce con this) suba hasta el tr, en ese tr busque el elemento con clase "idArticulo" y recupere el texto

el evento live es para que gestione eventos en elementos futuros

Etiquetas: reconocimiento
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 17:33.