Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Frank Oliveira Tavares

Manipular elementos criados pelo ajax em um Complete.

Recommended Posts

Eu tenho uma tabela e dentro dela tenho uma div com id = " lista " . Essa div lista eu vou inserir os dados retornado e um .html()

no meu javascript está

lista = $("lista")

$.getJSON('models/listarUsuarios.php', function(data){
$.each(data, function(k, v){


html +='<tr><td>'+v.id+'</td><td>'+v.nome+'</td><a href="#" id="excluir" rel="+v.id+"></a></tr>................ continua o each

 

 

lista.(html)

 

e no html está

 

 

<tbody>

<div id = " lista " >

 

 

</div>

</tbody>

 

 

 

até ai esta ok, mais quando tento fazer uma outra função abaixo manipulando o "Click" do link com id = "excluir" não consigo.

 

<a href="#" id="excluir" rel="+v.id+"></a>

 

 

 

Tento pegar ele pela id e o Atributo "Rel" que tem o id dele que foi passado no each acima

 

var excluir = $("[id*=excluir]");
excluir.click(function(){
id = $( this ).attr("rel");
console.log(id);

 

infelizmente não consigo, achei que era porque o each ia criar varios links com a id = " excluir " e o jquery nao ia selecionar todos, mais fiz o teste assim

 

listar.html

<a href="#" rel = "1" id = "excluir"></a>
<a href="#" rel = "2" id = "excluir"></a>
<a href="#" rel = "3" id = "excluir"></a>
e no aquivo java assim
var excluir = $("[id*=excluir]");
excluir.click(function(){
id = $( this ).attr("rel");
console.log(id);
no console retornava perfeitamente o "rel" de cada link que eu clicava.

Enfim, não manipular assim um elemento html criado por uma função, somente se for nativo.
OBS: todos os arquivos .js tem o $(document).ready
desde já obrigado :)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para isso vc terá que usar uma técnica chamada delegate.

O jQuery tem o método .on() para isso.

 

E não duplique ID, use classes nesse caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.