2009-07-29 4 views
0

Dans mon application, j'essaie d'utiliser la variable Php dans mon JQUery. où $ viewfields est un tableau que je récupère de mon contrôleur cakephp. Si j'ai essayé d'utiliser celui-ci comme ci-dessous, je reçois erreur pour (dans Array) {\ npour (in Array) Erreur dans Jquery lors de l'utilisation de la variable cakephp dans JQuery

for(<?=$viewfield;?> in <?=$viewfields;?>){} 

S'il vous plaît me suggérer. Que faire ..

Note: J'utilisais déjà le code ci-dessus comme

<?php foreach ($viewfields as $r): ?> 
    <?php endforeach?> 

Il fonctionne bien. Mais j'ai pensé à le changer comme pour() mais c'est montrer l'erreur pourquoi?

Répondre

0

Puisque $ viewfields est un objet PHP, vous devez affirmer que sa représentation en écho est un javascript valide. En tant que tel, vous devez le convertir en une chaîne qui est un tableau/objet JSON valide. this page a une fonction pour faire une telle chose. Puisque vous n'exposez pas les données de votre tableau, il est difficile de dire si la fonction donnée par le lien est trop complexe pour vos besoins ou non. Enfin, assurez-vous que $ viewfield est un identifiant javascript valide (chaîne ASCII, ne commence pas par un nombre et ainsi de suite).

0

Comme répondu à vos autres questions, PHP et Javascript ne fonctionnent pas ensemble comme ça. Vous devrez convertir le tableau PHP à un certain type Javascript à tout le moins, par exemple en utilisant JavascriptHelper Cake:

echo $javascript->value($myVar); 

Regardez le résultat HTML pour vérifier les résultats.

S'il vous plaît assurez-vous de bien comprendre ce qu'est PHP et ce qu'est Javascript. Vos première et deuxième constructions sont à des fins complètement différentes!