Foros del Web » Programando para Internet » Javascript »

Aumentar o disminuir cantidades con javascript

Estas en el tema de Aumentar o disminuir cantidades con javascript en el foro de Javascript en Foros del Web. Hola a todos! Consulta... ¿Cómo se hace para agregar estos dos botoncitos para incrementar el valor del input SOLO DEL ARTICULO SELECCIONADO? Estoy trabajando sobre ...
  #1 (permalink)  
Antiguo 14/10/2011, 12:52
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Aumentar o disminuir cantidades con javascript

Hola a todos! Consulta... ¿Cómo se hace para agregar estos dos botoncitos para incrementar el valor del input SOLO DEL ARTICULO SELECCIONADO?


Estoy trabajando sobre este ejemplo:
http://www.programacionweb.net/artic...iculo/?num=329

Probé haciendo esto y solo funciona con el primer producto pero si le agrego más productos y le modifico sus cantidades, me modifica SIEMPRE el primero de la lista. El listado trabajaría de esta manera:
listado.php
Código HTML:
<!--- primer producto --->
<form name="a<?php echo $v['identificador'] ?>" method="post" action="carro_actualiza.php?<?php echo SID ?>" id="a<?php echo $v['identificador'] ?>">
<input name="cantidad" type="text" class="prod" id="cantidad" value="<?php echo $v['cantidad'] ?>" size="6">
<a href="#" onclick="document.getElementById('cantidad').value = parseInt(document.getElementById('cantidad').value) - 1" title="">-</a>
<input name="cantidad" type="text" id="cantidad" value="3" size="8">
<a href="#" onclick="document.getElementById('cantidad').value = parseInt(document.getElementById('cantidad').value) + 1" title="">+</a>
</form>

<!--- segundo producto --->
<form name="a<?php echo $v['identificador'] ?>" method="post" action="carro_actualiza.php?<?php echo SID ?>" id="a<?php echo $v['identificador'] ?>">
<input name="cantidad" type="text" class="prod" id="cantidad" value="<?php echo $v['cantidad'] ?>" size="6">
<a href="#" onclick="document.getElementById('cantidad').value = parseInt(document.getElementById('cantidad').value) - 1" title="">-</a>
<input name="cantidad" type="text" id="cantidad" value="3" size="8">
<a href="#" onclick="document.getElementById('cantidad').value = parseInt(document.getElementById('cantidad').value) + 1" title="">+</a>
</form> 
Pero como les decía antes, al incrementar las cantidades del SEGUNDO artículo me modifica siempre el PIRIMERO.

¿Cómo puedo hacer para que me los modifique individialmente?

Gracias y saludos.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 14/10/2011, 13:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Aumentar o disminuir cantidades con javascript

para comenzar cada uno de esos inputs debe tener un ID único, puede que tengas los names como un array y todos en la fila sean iguales como

<input name="cantidad[]" />

pero para JS tienes la ventaja de usar el ID sin interferir con el name para tu servidor , quedando más un menos así:


<input name="cantidad[]" id="cantidad1" />
<input name="cantidad[]" id="cantidad2" />
<input name="cantidad[]" id="cantidad3" />
<input name="cantidad[]" id="cantidad4" />

y con la función document.getElementById() resuelves ello
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 14/10/2011, 14:41
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Aumentar o disminuir cantidades con javascript

maycoalvarez: mil gracias por responder. Todavía no he llegado a casa para investigar, pero sería factible puedas darme un ejem,plo por favor de cómo generarlos?

Gracias amigo y saludos.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 14/10/2011, 20:31
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Aumentar o disminuir cantidades con javascript

¿Se debe utilizar un for, no?
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #5 (permalink)  
Antiguo 14/10/2011, 23:56
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Aumentar o disminuir cantidades con javascript

Añade una función después de los formularios
Código Javascript:
Ver original
  1. <script>
  2. (function(){
  3.     var d = document, c = d.getElementsByTagName('input'), i=0, l = c.length
  4.     while(i<l){
  5.         if(c[i].name == 'cantidad'){
  6.             c[i].value = ~~c[i].value
  7.             var mas = d.createElement('button'), menos = d.createElement('button'), parent = c[i].parentNode
  8.             mas.innerHTML = '+';                menos.innerHTML = '-'
  9.             mas.className = 'botonMasMenos';    menos.className = 'botonMasMenos'
  10.             parent.insertBefore(mas, c[i]) // Boton +
  11.             parent.insertBefore(menos, c[i].nextSibling) //Boton -
  12.             mas.onclick = function(){
  13.                 this.nextSibling.value++ //Sumar a la caja de texto
  14.             }
  15.             menos.onclick = function(){
  16.                 var v = this.previousSibling
  17.                 v.value = v.value > 0 ? v.value-1 : 0 // Restar
  18.             }
  19.         }
  20.         i++
  21.     }
  22. })()
  23. </script>

Código CSS:
Ver original
  1. .botonMasMenos {display:block;background:lime}
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #6 (permalink)  
Antiguo 15/10/2011, 08:53
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Aumentar o disminuir cantidades con javascript

Hola nuevamente...

America: coloqué el código debajo del formulario que mostré más arriba tal cual como me dijiste y no hace nada... tampoco me aparecen los botones + y -

maycolalvarez, sigo viendo como generar lo que me dijiste y tampoco he dado en el clavo en como llegar a eso.

Mil disculpas por esto pero bueno, me lo pidieron y no se como hacerlo por eso insisto.

Gracias nuevamente.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #7 (permalink)  
Antiguo 15/10/2011, 09:34
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Aumentar o disminuir cantidades con javascript

Cita:
Iniciado por America|UNK Ver Mensaje
Añade una función después de los formularios
Código Javascript:
Ver original
  1. <script>
  2. (function(){
  3.     var d = document, c = d.getElementsByTagName('input'), i=0, l = c.length
  4.     while(i<l){
  5.         if(c[i].name == 'cantidad'){
  6.             c[i].value = ~~c[i].value
  7.             var mas = d.createElement('button'), menos = d.createElement('button'), parent = c[i].parentNode
  8.             mas.innerHTML = '+';                menos.innerHTML = '-'
  9.             mas.className = 'botonMasMenos';    menos.className = 'botonMasMenos'
  10.             parent.insertBefore(mas, c[i]) // Boton +
  11.             parent.insertBefore(menos, c[i].nextSibling) //Boton -
  12.             mas.onclick = function(){
  13.                 this.nextSibling.value++ //Sumar a la caja de texto
  14.             }
  15.             menos.onclick = function(){
  16.                 var v = this.previousSibling
  17.                 v.value = v.value > 0 ? v.value-1 : 0 // Restar
  18.             }
  19.         }
  20.         i++
  21.     }
  22. })()
  23. </script>

Código CSS:
Ver original
  1. .botonMasMenos {display:block;background:lime}
Si, ahora lo pude hacer funcionar... gracias genio!!! En el name tenia puesto un [] y no me lo tomaba y ahora si. Lo que tengo que hacer es que al sumar o restar me modifique tanto la cantidad como el total del importe y el total total.

Igualmente me quedé con la gran duda de cómo hacer lo que me dijo maycolalvarez que no lo supe implementar.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.

Etiquetas: aumentar, funcion, php, botones, cantidad
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 21:49.