Bonjour !

Je me lance dans le drag and drop façon Dojo et je trouve ça bien pratique. Mais il me reste un petit soucis que je n'arrive pas à résoudre.
Mon container Source se remplit en fonction de la valeur sélectionnée dans un filteringSelect. Jusque là aucun soucis, la liste s'affiche bien et le dnd se fait. Par contre, je dois faire en sorte que l'on puisse modifier la valeur du filteringSelect et ainsi modifier la liste des éléments déplaçables. Et c'est là que je bloque. La liste se met à jour mais dès que je veux déplacer un élément j'ai une erreur javascript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Erreur : 'getItem(...),type' a la valeur Null ou n'est pas un objet.
J'explique ma façon de faire. Au onChange du filteringSelect, je lance une fonction qui va récupérer la liste via php et au retour de cette liste (dans le callback du xhrPost) je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
//Suppression de la liste des modules (Source)
lModule.clearItems();
 
//Suppression des modules choisis (Target)
ajoutModule.clearItems();
 
//On detruit le dnd Source
lModule.destroy();
 
//On ajoute la nouvelle liste
dojo.byId('lModule').innerHTML = data;
 
//on crée un nouveau dnd 
source = new dojo.dnd.Source("lModule");
Avez-vous une méthode plus pratique et plus fonctionnelle ?

Merci d'avance pour vos réponses !