il faut faire la différence entre les variables de template de Django
{{prop.val1}} qui sont remplacés dans le HTML et les variables du
JavaScript.
Nous avons là trois niveaux :
1 - Le code du template Django.
2 - le code HTML (afficher la source dans le navigateur)
3 - le code JavaScript

{{prop.val1}} appartient au premier niveau, cette variable est utilisée
pour générer le second niveau (le HTML) et pendant le rendu HTML par le
navigateur elle n'existe déjà plus.

Ce qui est présent dans l'attribut HTML data-* est utilisé pour générer le
troisième niveau le data JavaScript.

On ne peut pas utiliser les variables de template en JavaScript on utilise
le rendu JavaScript du Contenu HTML qui est généré par le temple Django.
Ce qui nous donne la séquence suivante.
(1 Django)
 --[moteur de template Django]-->
(2 HTML )
--[parseur JavaScript ou JSON]-->
(3 JS)

pour que votre JavaScript fonctionne vous auriez du écrire dans le
template  :
<td class= "min" width="120" id="val1"
data-laval1='{"prop":{"val1":{{prop.val1}} } }'  ><TT> {{
prop.val1 }}  </TT> </td>

Ou {{prop.val1}} est remplacé par une valeur pendant le passage de
(1)vers(2).

Disons que {{prop.val1}} val 42
on obtient le HTML suivant :
<td class= "min" width="120" id="val1" data-laval1='{"prop":{"val1":42 }
}'  ><TT>42 </TT> </td>

ou pendant le passage de (2)vers(3) le contenu de l'attribut data-laval1 :
{"prop":{"val1":42 } }
sera interprété comme du JSON par le JavaScript :
$(this).data('laval1')


Faites attention aux guillemets (simple et double) ils sont très important.


Sébastien


http://sebastien.cheminel.com

Le 28 février 2012 11:36, sesame <[email protected]> a écrit :

> je n arrive pas atrouver la bonne syntaxe  j'ai du faire une erreur...ca
> marche pas..
>
>  $(".min").each(function(){
>        var recup=$(this).data('laval1').prop.val1;
>
>            });
>
>
>
>
> <td class= "min" width="120" id="val1" data-laval1= "prop.val1"  ><TT> {{
> prop.val1 }}  </TT> </td>
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
>
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à