2010-01-06 48 views
0

通過使用jQuery,我得到一個數字(我的頁面上特定小部件的id)。 保存這個數字的變量是active_widget_id使用jQuery在調用php函數時檢索的值

我需要做的是:

  • 化妝使用這個號碼的,如下:

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

  • 獲得所產生的$ toggleImage值(它是文件的名稱,如 'big-widget-header.gif')

  • 並將圖像顯示在頁面上的div(例如#toggleHolder)中。

麻煩的是用)jQuery的需要在運行的document.ready拿到號,B),一旦我能夠構建「$ text_widgets [active_widget_id] [‘切換’];」不能運行的PHP代碼(包裝與PHP回聲標籤不起作用,它只是列出了上述,而不是其結果。)

我更多的是一個設計師,我想要追加, prepends,html()等,但我懷疑我應該看看ajax類型的解決方案。

讚賞任何指針...

+0

端向上顯示圖像的小部件內,複製其HTML,粘貼所需DIV中,除去原有的實例。 天知道什麼時候我會最終讓我的手髒了一些硬核jQuery的行動:) 我會選擇馬克的答案,因爲它是未來jquery挑戰的提問者清晰的路線圖。 謝謝馬克和傑森。 – Necati

回答

2

基本上你需要在頁面再次通過Ajax調用(您可以通過jQuery的做)執行。

的順序是這樣的:

  1. 執行PHP代碼
  2. 頁面加載
  3. 運行電流jQuery代碼
  4. 使用jQuery使Ajax請求傳遞參數,從(3)如GET或POST數據
  5. (請求要求PHP計算一些數據,PHP返回一個值)
  6. 解析來自jQuery的響應ajax請求在(5)
  7. 使用jQuery來更新div並顯示從結果(6)
+0

所以我在一個點,我有$ toggleImage = $ text_widgets [active_widget_id] ['toggle'];「。這不是很好足以運行ajax請求?我覺得我需要的只是獲得這個結果(就像我在第6點)或者你會說我現在只處於第3點? – Necati

+0

PHP代碼無疑會必須解析來自請求的GET或POST數據,一旦計算出它的結果,你需要從字面上回顯結果。 –

1

像你想在這裏做你真的不能混合使用客戶端和服務器端。如果要在客戶端上從服務器獲取數據時需要執行的操作是運行一些$.post/$.ajax/$.get調用,然後在回調函數中執行DOM修改。

(很粗)例:

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

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

謝謝。 我將不得不研究這個... 我一直在使用visualjquery.com作爲例子的資源,希望有類似於我那裏的情況的現實生活中的例子。 – Necati

+0

有沒有更好的地方學習如何使用jQuery比http://jquery.com – Jason