Foros del Web » Programando para Internet » Javascript »

Como añado el incremento del bucle al nombre de una variable

Estas en el tema de Como añado el incremento del bucle al nombre de una variable en el foro de Javascript en Foros del Web. Hola amigos que tal, Vereis tengo este codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original for ( i = 0 ; i < 36 ; ...
  #1 (permalink)  
Antiguo 28/09/2013, 10:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Como añado el incremento del bucle al nombre de una variable

Hola amigos que tal,

Vereis tengo este codigo:


Código Javascript:
Ver original
  1. for(i=0;i<36; i++){
  2.          
  3.                  $( ".slider1"+i ).slider({
  4.                 animate: true,
  5.                 range: "min",
  6.                 value: 0,
  7.                 min: 0,
  8.                 max: 3,
  9.                 step: 1,
  10.                
  11.                 //this gets a live reading of the value and prints it on the page
  12.                 slide: function( event, ui ) {
  13.                     $( "#slider-result1"+i ).html( ui.value );
  14.                 },
  15.  
  16.  
  17.                 change: function(event, ui) {
  18.                 $("#hidden1"+i).attr('value', ui.value);
  19.                 }
  20.            
  21.                 });
  22.  
  23.           }

Que lo he metido dentro de un bucle for la cosa es que cesito añadir "i" como nombre, como puden ver lo que he hecho ha sido ponerlo de es ponerlo de este modo " $( ".slider1"+i ).slider({" pero no funciona.

A ver si pueden echarme una manilla

Un saludo!!
  #2 (permalink)  
Antiguo 28/09/2013, 11:01
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Puedes poner los parámetros que quieras dentro de un bucle for, también con autoincremento.

Claro, esque no puedes concatenar un número tipo integer(variable i) con un string -->NaN(Not a Number)
En tal caso conviértelo:
Código Javascript:
Ver original
  1. +toString(i)

Saludos

Última edición por zerokilled; 28/09/2013 a las 13:04
  #3 (permalink)  
Antiguo 28/09/2013, 11:20
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Como añado el incremento del bucle al nombre de una variable

Habría que ver el contexto, pero parece un caso semejante a este:
Código:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form name="form1" method="post" action="">
  <input type="button" name="button1" id="button1" value="Botón">
  <input type="button" name="button2" id="button2" value="Botón">
  <input type="button" name="button3" id="button3" value="Botón">
<script>
for(var i=1,l=4;i<l;i++){
	document.getElementById('button'+i).onclick=function(){alert(i);};
}
</script>
</form>
</body>
</html>
Que se soluciona de esta manera (envolviendo la iteración en una función anónima y haciendo que la misma se ejecute en el momento con los valores adecuados):
Código:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form name="form1" method="post" action="">
  <input type="button" name="button1" id="button1" value="Botón">
  <input type="button" name="button2" id="button2" value="Botón">
  <input type="button" name="button3" id="button3" value="Botón">
<script>
for(var i=1,l=4;i<l;i++){
	(function(i){
		document.getElementById('button'+i).onclick=function(){alert(i);};
	})(i);
}
</script>
</form>
</body>
</html>
Aunque la librería que usás creo que tiene un método bind que puede ayudarte.
  #4 (permalink)  
Antiguo 30/09/2013, 02:32
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Como añado el incremento del bucle al nombre de una variable

Muchas gracias amigos!!

Me sirvio.

Muchisimas gracias

Etiquetas: bucle, funcion, html, incremento, nombre, variable
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 03:11.