2011-06-07 6 views
3

J'ai sous ma forme une zone de liste.supprimer des éléments ajoutés

<span> 
    <select size=5 id="submission_author_ids" name="submission[author_ids][]" multiple onfocus="displayOptions();"> </select> 
    </span> 

J'ai une fonction qui lit toutes les options dans la liste, puis l'ajoute dans un div. Le problème est que chaque fois que l'accent est mis sur la liste, les options sont ajoutées à la div. Cela peut entraîner une duplication. Je voudrais d'abord supprimer toutes les options ajoutées dans la div et ajouter à nouveau les options à chaque fois que la zone de liste reçoit le focus.

J'ai essayé le code ci-dessous mais il est ne semble pas fonctionner --- les options ne sont plus

$j('#spanSubmitters').remove(); 

Je vous serais reconnaissant si quelqu'un pouvait me aider avec cela.

Vive

+0

pourquoi enlever et reappend, pourquoi ne pas garder ce qui est actif dans un tableau et ne pas laisser dupes? – matchew

+0

parce que la zone de liste sera un champ caché .. il est peuplé via une fenêtre et je veux résultat (les options) à afficher dans un format de chaîne – tanya

Répondre

4

Utilisez empty(). remove() supprime l'élément entier. empty() supprime simplement tous les nœuds enfants à l'intérieur.

$j('#spanSubmitters').empty(); 
+0

Lovely, merci beaucoup – tanya

1

Essayez ceci:

$j('#spanSubmitters').children().remove(); 
+0

Merci pour la suggestion :) – tanya

Questions connexes