/ / Anexando uma variável variável jquery - jquery, html

Anexando uma variável variável jquery - jquery, html

Quando clico em um botão, eu o adiciono para anexar código html. Dentro deste código html eu quero que ele tenha Ids dinâmicos. Eu tenho uma variável de contagem chamada id_count e eu configurei para 1 dizendo var id_count = 1; e quando o botão é clicado eu adiciono um ao id_count valor. No entanto, tentei adicionar isso no meu código anexado, mas só leva o valor original de id_count. Então, se eu clicar no meu botão duas vezes, embora a contagem suba para 3, a variável na minha declaração anexa permanece em 1.

Eu não sei porque isso está acontecendo. Eu olhei para cargas de outros posts, mas nenhum deles parece me ajudar, daí porque eu estou escrevendo isso. Basicamente eu quero ter unqiue id "s para todos os meus elementos acrescentados, mas eu não sei como. Desculpe, esta é uma pergunta duplicada.

Aqui está o meu código jquery:

$j = $.noConflict();
var id_count = 1;
var id_sub = 1;
var htmlcode = "<div class="fieldset" id="fieldset_"+id_count+""> <h2>Child Information</h2></div>";
$j(".btn-addchild").click(function(){
id_count++;
alert(id_count);
$j(".child-info-content").append(htmlcode);
});
$j(".child-info-content").on("click","#removechild",function() {
$j(this).parents(".fieldsetAdditional").slideUp("normal",function() {$j(this).parents(".fieldsetAdditional").remove();});
id_count = id_count - id_sub;
alert(id_count);
});

Respostas:

2 para resposta № 1

Mover a definição de htmlcode na função. Quando você o coloca fora da função, ele não será executado toda vez que você executar a função click.

$j(".btn-addchild").click(function(){
alert(id_count);
var htmlcode = "<div class="fieldset" id="fieldset_" + id_count + ""> <h2>Child Information</h2></div>";
$j(".child-info-content").append(htmlcode);
id_count++;
});