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

link dinamicos

Estas en el tema de link dinamicos en el foro de Frameworks JS en Foros del Web. Hola, tengo este problema, en la pagina pongo un link y anda ok, ahora necesito agregar otro haciendo click en prueba, y se agrega pero ...
  #1 (permalink)  
Antiguo 07/10/2009, 15:28
 
Fecha de Ingreso: julio-2009
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
link dinamicos

Hola, tengo este problema, en la pagina pongo un link y anda ok, ahora necesito agregar otro haciendo click en prueba, y se agrega pero no hace nada cuando le doy click, alguien sabe porque, y como puedo solucionarlo,, gracias.

<script type="text/javascript">
$(document).ready(function(){
$(".refpago").click(function() {
var index = $(".refpago").index(this);
alert(index);
});
$("#prueba").click(function() {
var armo = "<a class='refpago' href='#' >enlace agregado</a>";
$("#pongo").append(armo);
$("#pongo").slideDown(1000);
});

});
</script>

</head>
<body>
<a id="prueba" href="#" >prueba</a>
<div id="fijo"><a class='refpago' href='#' >enlace puesto</a></div>
<div id="pongo"></div>
</body>
</html>

Última edición por juan1963; 07/10/2009 a las 19:12
  #2 (permalink)  
Antiguo 08/10/2009, 11:02
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: link dinamicos

Lo unico que te falta es agregar return false; para que no se ejecute el link (aunque sea #).
  #3 (permalink)  
Antiguo 11/10/2009, 22:24
 
Fecha de Ingreso: julio-2009
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: link dinamicos

Hola, Gracias por la respuesta pero no funciona, renegando un poco, lo solucione poniendo un div oculto, con el link, para que asi se cargue cuando se carga la pagina y lo reconozca el DOM entonces, luego para repetirlo lo hago con clone() y asi funciona... pongo esto por si a alguien le interesa.
poniedo asi

$("#eloculto").clone(true).insertAfter(".adondeloi nserto");


Gracias
Juan
  #4 (permalink)  
Antiguo 12/10/2009, 12:20
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: link dinamicos

A mi me interesa. Yo estoy clonando un formulario que tiene asignado un id. Sabes como evitar que el clon tenga el mismo id?
  #5 (permalink)  
Antiguo 29/12/2009, 07:50
 
Fecha de Ingreso: julio-2009
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: link dinamicos

Cita:
Iniciado por mayid Ver Mensaje
A mi me interesa. Yo estoy clonando un formulario que tiene asignado un id. Sabes como evitar que el clon tenga el mismo id?
despues de clonarlo pones

$("#elclonado").attr("id","nuevo_id");


Hola, Disculpa la demora, se me pasó, bueno, después de clonarlo le cambias el atributo.
Saludos
  #6 (permalink)  
Antiguo 29/12/2009, 08:08
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: link dinamicos

porque estas creando un nuevo elemento, tienes que usar el evento live para el click

http://docs.jquery.com/Events/live#typefn
  #7 (permalink)  
Antiguo 29/12/2009, 08:10
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: link dinamicos

Cita:
Iniciado por Dany_s Ver Mensaje
porque estas creando un nuevo elemento, tienes que usar el evento live para el click

http://docs.jquery.com/Events/live#typefn


Código HTML:
$(".refpago").live('click', function() {
var index = $(".refpago").index(this);
alert(index);
});
  #8 (permalink)  
Antiguo 29/12/2009, 15:10
 
Fecha de Ingreso: julio-2009
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: link dinamicos

Cita:
Iniciado por Dany_s Ver Mensaje
Código HTML:
$(".refpago").live('click', function() {
var index = $(".refpago").index(this);
alert(index);
});

Hola Dany, no conozco muy bien lo que hace el .live en una de esas es asi, porque me falta conocimiento, pero creo que no me entendiste lo que quiero hacer, hay un enlace de clase refpago que ya esta, que lo llame enlace puesto, este cuando llamas la pagina se carga y anda bien porque lo reconoce el DOM, lo mismo con el enlace prueba, pero cuando haces click en este ultimo tambien puesto que lo llame prueba, para hacer un click en el y ejecutar la funcion jquery y agregarlo con append, lo que me pasaba es que lo agregaba pero no anda porque el DOM no lo reconoce, entonces lo solucione creando uno oculto para que lo cargue el DOM y despues cuando necesito uno le hago un clone y le cambio el id.
Gracias de todos modos.
  #9 (permalink)  
Antiguo 29/12/2009, 20:07
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: link dinamicos

en tu código de ejemplo veo que cuando haces click en algún enlace que contenga la clase 'refpago' deberia dar un alert con el indiex del mismo, el enlace puesto que dice "enlace puesto" funciona y hace un alert con 0, pero cuando haces click en #prueba y creas un enlace con append que tiene también clase refpago y que al hacer click en ese creado debería ejecutar el alert con el index, no funciona y tampoco para los demás que vas creando.

No funciona porque ese elemento ha sido creado y no tiene un evento asignado para eso está live, para que cada vez que creas un elemento se le asigne los eventos, live controla los eventos de los elementos que existen y de los que se crean, fijate que así si funciona


Código HTML:
<html>
    <head>
        <title>Ejemplo</title>
        <script src="jquery.js" type="text/javascript"></script>
    </head>
    <script type="text/javascript">
    $( function (){

        $(".refpago").live('click',function() {
            var index = $(".refpago").index(this);
            alert(index);
        });
        $("#prueba").click(function() {
            var armo = "<a class='refpago' href='#' >enlace agregado</a>";
            $("#pongo").append(armo);
            $("#pongo").slideDown(1000);
        });

    });
    </script>
<body>
    <a id="prueba" href="#" >prueba</a>
    <div id="fijo"><a class='refpago' href='#' >enlace puesto</a></div>
    <div id="pongo"></div>
</body>
</html> 
  #10 (permalink)  
Antiguo 30/12/2009, 11:13
 
Fecha de Ingreso: julio-2009
Mensajes: 53
Antigüedad: 14 años, 9 meses
Puntos: 0
De acuerdo Respuesta: link dinamicos

Tenes Razón, sos un genio, a donde te mando la sidra ??

No tenia ni idea del .live mil gracias

Gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:50.