J'ai écrit une fonction pour ajouter un listitem avec une zone de texte et un bouton de suppression, chaque fois que le bouton d'ajout a été cliqué. J'ajoute aussi un identifiant unique à chaque nouvel élément en ajoutant un numéro. le problème se produit lorsque j'essaie de supprimer un élément, puis d'en ajouter un autre, parfois ce numéro est en cours de duplication. ex: j'ajoute 4 li et décide d'enlever # 3. Puis cliquez sur Ajouter de nouveau à nouveau la nouvelle séquence est 1,2,4,3,4 au lieu de 1,2,4,5,6. J'espère que cela a du sens.
ici est mon javascripten utilisant jQuery pour ajouter et supprimer la zone de texte avec des ID uniques
var count = 2;
$('#add').click(function() {
var newTxtBxLi = $('<li></li>').attr('id', 'newli' + count).appendTo('ul');
var input = $('<input type="text" id="newinput' + count + '" name="newinput' + count + '" /><input type="button" id="remove' + count + '" class="remove" value="">');
$(input).appendTo(newTxtBxLi);
count++;
$('.remove').each(function() {
$(this).click(function() {
//count--;
$(this).parent('li').remove();
});
});
});
Merci à l'avance
// mise à jour donc je faisais des recherches sur stackoverflow, et a trouvé un poste sur l'exécution d'un chèque de double d'identité. le nouveau code fonctionne, mais maintenant je dois comprendre comment écrire « trouver le dernier identifiant et + 1, puis créer une nouvelle li avec ce nouvel identifiant voici mon code mis à jour.
$('#add').click(function() {
var count = $('ul > li').length + 1;
var newTxtBxLi = $('<li></li>').attr('id', 'newli' + count).appendTo('ul');
var input = $('<input type="text" id="newinput' + count + '" name="newinput' + count + '" /><input type="button" id="remove' + count + '" class="remove" value="">');
$('ul > li[id]').each(function(){
var ids = $('[id='+this.id+']');
if(ids.length>1 && ids[0]==this){
//console.warn('Multiple IDs #'+this.id);
//find the last id and + 1, then add new listitem
}else{
$(inputAcc).appendTo(newTxtBxLi);
accomplishCount++;
}
});
$('.remove').each(function() {
$(this).click(function() {
count--;
$(this).parent('li').remove();
});
});
});
Merci patrick! c'est génial! – Gerald
@Gerald - Est-ce que cela a permis de résoudre le problème des IDs répétés? Il ne semblait pas entièrement lié, mais n'était pas sûr si cela a peut-être causé un comportement inattendu. – user113716
non J'essaie toujours de comprendre cela – Gerald