2009-12-20 5 views
1

J'utilise jqModal dans une application Django. Ce que je voudrais faire, c'est avoir un tas de liens différents dont chacun passe un paramètre à jqModal pour qu'il appelle une URL ajax différente basée sur le paramètre. Par exemple, en fonction de l'ID de ce qui est cliquez sur, je veux faire quelque chose comme:Transmettre des informations à jqModal

$('#popup').jqm({ajax: '/myapp/objects/' + id, trigger: 'div.modaltrigger'}); 

Où id est l'id de tout ce que j'ai cliqué.

Est-ce possible?

+0

Que demandez-vous exactement? Si vous demandez simplement si c'est possible, je dirais que c'est possible. Si ce code est exécuté plusieurs fois, il est probable que vous verrez plus d'un dialogue modal. – kiamlaluno

Répondre

2

Utilisation data attributes des éléments déclenchants pour stocker vos URL:

<div class="modaltrigger" data-ajax-url="/myapp/objects/108"... 

Utilisez ensuite jqModal de la manière suivante:

$('#popup').jqm({ajax: '@data-ajax-url', trigger: 'div.modaltrigger'}); 
2

Vous avez dit que vous voulez changer l'URL en fonction de l'ID, donc Je suppose que vos liens ressemblent à ceci

<div id="obj1" class="modaltrigger">foo</div> 
<div id="obj2" class="modaltrigger">bar</div> 

Et vous voulez jqModal à appeler urls comme celui-ci

/myapp/objects/obj1 
/myapp/objects/obj2 

Ensuite, ce code devrait fonctionner

//must run before first ajax call is made 
$('div.modaltrigger').each(function(i, ele) { 
    ele.title = '/myapp/objects/'+this.id; 
}); 

$('#popup').jqm({ 
    ajax: '@title', 
    trigger: 'div.modaltrigger' 
}); 
+0

je vous remercie j'étais face à ce problème et utilisé votre solution et il fonctionne bien –

Questions connexes