2009-07-09 6 views
0

J'ai une page où les utilisateurs peuvent poster des questions. Chaque fois qu'une nouvelle question est affichée Je clonant le div, la mise à jour avec de nouvelles valeurs et préfixer alors la div au-dessus de toutes les précédentes divs.This est mon code:clone, mise à jour et préfixe div

var lastDiv = $("#divAll div:last").clone();  
$("[id$='_imgPostAll']",lastDiv).attr("ImageUrl",post.d.sImageURL); 
$("[id$='_lblNameAll']",lastDiv).html(post.d.sNickName); 
$("[id$='_lblTimeAll']",lastDiv).html(post.d.sDate); 
$("[id$='_lblShareAll']",lastDiv).html(post.d.sShareComment); 
$("#divAll").prepend(lastDiv); 
$("#divAll div:last").show("slow");` 

La div mise à jour ne s'affiche pas sur la page. Mais quand je remplace var lastDiv = $ ("# divAll div: dernier"). Clone() avec var lastDiv = $ ("# divAll"). Clone(), le div mis à jour apparaît mais il apparaît deux fois, trois fois selon le divs précédents Je ne veux que copier la dernière div et la mettre à jour avec de nouvelles valeurs plutôt que toutes les divs précédentes.

Votre aide sera très appréciée.

+0

Utilisez-vous pas de code behind pour cela? – rahul

+0

N'existe-t-il pas de mise à jour de la base de données? – rahul

+0

Pouvez-vous afficher le code HTML que vous utilisez ...? –

Répondre

1

Il semble que lorsque vous clonez la div, l'attribut name est copié avec le clone. Ainsi, lorsque vous récupérez plus tard le div pour le recloner, vous saisissez par inadvertance les copies que vous avez déjà faites ainsi que l'original.

+0

Pouvez-vous me dire comment le corriger? –

+0

Je crains de ne pas comprendre ce que vous essayez d'obtenir. Une préoccupation est que c'est la façon dont vous décrivez le comportement que vous essayez de mettre à jour le nouveau div. Mais vos mises à jour ne sont pas ciblées sur la div que vous avez clonée. –

+0

Hey pouvez-vous me dire la procédure pour mettre à jour le div qui est cloné. Je vais mal avec la syntaxe. Merci. –

0

Votre dernière ligne se lit comme suit:

$("#divAll div:last").show("slow");` 

Mais vous préfixer votre clone div au conteneur, de sorte que le div clonée apparaît en premier.

Afficher la première div au lieu:

$("#divAll div:first").show("slow");` 

ou mieux encore, montrent simplement le clone div directement:

lastDiv.show("slow");