Estou tentando fazer um append() com jquery na view da seguinte forma:
Yii::app()->clientScript->registerScript(‘parcelasJS’, "
$('#btnAdd').click(function(){
$('ul').append('<li><input type="text" /><a href="#">Excluir</a></li>');
return false;
});
$('.btnExcluir').click(function(){
$(this).parent().hide();
return false;
});
",CClientScript::POS_READY);
<a id="btnAdd" href="#">Add Linha</a>
<ul>
<li><input type="text" /><a class="btnExcluir" href="#">Excluir</a></li>
</ul>
Até aí ta tudo bem. Quando eu clico em ‘Add Linha’ sempre funciona, porem, todas as linhas que são inseridas passam a nao interpretar mais meu codigo js. Por exemplo, depois eu eu cliquei em ‘Add Linha’, resultaria o seguinte:
<ul>
<li><input type="text" /><a class="btnExcluir" href="#">Excluir</a></li><!--linha 1-->
<li><input type="text" /><a class="btnExcluir" href="#">Excluir</a></li><!--linha 2-->
</ul>
O que acontece é que se eu clicar no ‘Excluir’ da linha 2 nd acontece. E se eu clicar no ‘Excluir’ da linha 1 funciona normalmente e da um hide() na primeira linha. Exatamente isso, o botao de excluir só funciona na primeira <li>, nas demais que são inseridas pelo append() nao funciona.
O que acontece? Pq o script para de funcionar?
É como se o append() colocasse a minha <li>[…]<li> em formato de texto, e nao de HTML. E com isso o javascript nao interpreta aquela linha.
Alguma luz?