Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Click en un select estático y otro en dinámico

Estas en el tema de Click en un select estático y otro en dinámico en el foro de Frameworks JS en Foros del Web. Buenas aqui os dejo mi código. En definitva lo que hago es generar unos select dinámicos, de momento todos tienen la misma etiqueta e id, ...
  #1 (permalink)  
Antiguo 18/03/2011, 07:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 10
Antigüedad: 17 años, 3 meses
Puntos: 0
Click en un select estático y otro en dinámico

Buenas aqui os dejo mi código.

En definitva lo que hago es generar unos select dinámicos, de momento todos tienen la misma etiqueta e id, (tambien he probado poniendole un contador) y esto me lo hace correctamente.

El problema viene cuando quiero ver si se ha pulsado uno, que no me lo reconoce, sin embargo creo un select estático y ese si me reconoce que lo he pulsado.

El problema resumiendo es:

Al puslar un select generado por AJAX no me reconoce que lo he pulsado, sin embargo uno estático creado en html si.

Muchas Gracias de ante mano. aquí os dejo el código

Código:
<script src="js/jquery-1.5.1.js"  type="text/javascript"></script>
<script>
$(document).ready(function(){
						   
	contador=0;
						   
	$("#add").click(function() {
							 
			contador=contador+1;				 
			var tds = '<tr><td><select name="prueba" id="prueba"><option>Seleccion ..</option>';
			
			<?php
			for($i=0;$i<5;$i++)
			{?>
				tds+='<option>'+<?php echo $i; ?>+'</option>';
			<?php }
			?>
				
			tds += '</select></td></tr>';
			
			$("#mitabla").append(tds);				
	
	});
	
	
	//Esta función si me entra
	$("#prueba").click(function(event) { 
							 
			alert("has pulsado el select estatico");				
	
	});
	
	//Esta función no entra
	$("#prueba2").click(function(event) {
							 
			alert("has pulsado el select dinamico");				
	
	});
});
</script>

<button id="add">A&ntilde;adir Fila</button>
<select name="prueba2" id="prueba2"><option>4</option></select>
<table border="1" id="mitabla">

</table>
  #2 (permalink)  
Antiguo 19/03/2011, 16:01
Avatar de perryjr  
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 14 años, 4 meses
Puntos: 27
Respuesta: Click en un select estático y otro en dinámico

A medida que JavaScript se va ejecutando, busca $('#add') y le asigna un evento AL HACER CLICK., busca $('#prueba') y no encuentra ninguno PORQUE NO EXISTE TODAVIA y busca $('#prueba2') lo encuentra y le asigna el evento. Luego tu al hacer click creas prueba.

Orden de operaciones!! Si pones alert($('#prueba').length); verás como dice que hay cero, porque no existe.


Código PHP:
Ver original
  1. <?php }
  2.             ?>
  3.                
  4.             tds += '</select></td></tr>';
  5.            
  6.             $("#mitabla").append(tds);             
  7.    
  8.  
  9.     //  }); ESTO QUITALO
  10.    
  11.    
  12.     //Esta función si me entra
  13.     $("#prueba").click(function(event) {
  14.                              
  15.             alert("has pulsado el select estatico");               
  16.    
  17.     });
  18.  
  19.     }); // PONLO AQUI ABAJO

Ves la diferencia, los eventos los tienes que asignar cuando ese elemento exista, no antes ^.^
__________________
I (L) Google

Etiquetas: ajax, select
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 22:18.