2010-01-06 1 views
0

Par l'utilisation de jQuery j'arrive à un numéro (id d'un widget spécifique sur ma page). La variable qui contient ce numéro est active_widget_id.en utilisant une valeur récupérée par jQuery lors de l'appel d'une fonction php

Ce que je dois faire est:

  • faire usage de ce numéro comme dans les domaines suivants:

<?php $toggleImage = $text_widgets[active_widget_id]['toggle']; ?>

  • obtenir la valeur résultante toggleImage $ (il est le nom d'un fichier, comme 'big-widget-header.gif')

  • Et afficher l'image dans un div (disons #toggleHolder) sur la page.

Le problème est avec a) jQuery besoin de courir à document.ready pour obtenir le numéro, b) et une fois que je suis en mesure de construire "$ text_widgets [active_widget_id] [ 'bascule'];", ne pas être en mesure d'exécuter le code php (envelopper avec des balises php echo ne fonctionne pas, il suffit de la liste ci-dessus, pas son résultat.)

Je suis plus d'un concepteur et je suis en train d'aller avec des ajouts, préfets, html() et tel mais je soupçonne que je devrais regarder un type de solution ajax.

... Tous les pointeurs appréciés

+0

fini par l'affichage de l'image à l'intérieur du widget, copiant son html, coller à l'intérieur de la div souhaitée, en éliminant l'instance d'origine. Dieu sait quand je vais enfin me salir les mains avec une action jQuery hardcore :) Je vais choisir la réponse de Mark car il s'agit d'une feuille de route claire pour les futurs questionneurs jquery contestée. Merci Mark et Jason. – Necati

Répondre

2

Fondamentalement, vous devez avoir à nouveau la page exécuter par un appel ajax (que vous pouvez faire par jQuery).

La séquence serait quelque chose comme:

  1. exécuter du code PHP
  2. page se charge
  3. exécution en cours du code jQuery
  4. utiliser jQuery pour faire un passage de paramètres demande ajax de (3) GET ou POST données
  5. (demande demande PHP pour calculer des données, PHP renvoie une valeur)
  6. réponse à la requête de jQuery ajax en (5)
  7. utilisation jQuery pour mettre à jour le div et afficher le résultat de (6)
+0

Donc, je suis à un point où j'ai $ toggleImage = $ text_widgets [active_widget_id] ['toggle']; ". N'est-ce pas bon assez pour exécuter la requête ajax? Je sens que tout ce dont j'ai besoin est d'obtenir le résultat de ceci (comme je suis au point 6) Ou dirais-tu que je suis seulement au point 3 à ce stade? – Necati

+0

Le code PHP va sans aucun doute avoir à analyser les données GET ou POST à ​​partir de la requête.Vous aurez besoin de faire écho littéralement le résultat une fois que vous calculez ce que c'est ... –

1

Vous ne pouvez pas vraiment mélanger côté client et côté serveur comme vous essayez de faire ici. Ce que vous devez faire si vous voulez obtenir des données du serveur du côté client, c'est exécuter des appels $.post/$.ajax/$.get puis effectuer vos modifications DOM dans les fonctions de rappel.

(très brut) Exemple:

$.post('example.com/yourService', data, yourCallbackFunction, 'json'); 

function yourCallbackFunction(data) { 
    $('.yourClass img').attr('src', data.imageSrc); 
} 
+0

Merci. Je vais devoir étudier ceci ... J'utilise visualjquery.com comme une ressource pour des exemples, j'espère qu'il y a des exemples concrets similaires à ma situation là-bas. – Necati

+0

il n'y a pas de meilleur endroit pour apprendre à utiliser jquery que http://jquery.com – Jason

Questions connexes