爲了簡化問題,假設我有一組複選框(如果選中 - 應用了特定樣式)和href鏈接。Dynamiclly使用Ajax + JSON更改元素CSS樣式
<input type=checkbox style="color:#0f0; background:#0f0; border:1px solid;" name=CHKB_3D unchecked>
<span id=CHKB_3D_span style="">3D Model</span><br/>
<input type=checkbox name=CHKB_2D checked>
<span id=CHKB_2D_span style="color:#00D100;">2D Drawing</span><br/>
<input type=checkbox name=CHKB_ST checked>
<span id=CHKB_ST_span style="color:#00D100;">Stack up</span><br/>
<a onclick="ajax_json_styling()" href="javascript:void(0);">click me to change style!</a>
的複選框的狀態的值存儲在數據庫中。 服務器(PHP)應該決定我將擁有的複選框標籤(跨度)的哪種新顏色。 如果未選中 - > while,如果選中 - >綠色。
我有這種行爲的工作版本: 當我按href「保存」,我發送ajax請求到php,然後在服務器端我寫的複選框的狀態的新值。然後,我創建並回顯隱藏的DIV(稍後它的內容將是eval()以應用新樣式),並使用基於當前複選框的服務器數據的特定樣式。 然後在Ajax中,我eval()隱藏DIV的內容,並以這種方式應用基於服務器數據的新樣式複選框。
挑戰是從eval()遷移到JSON + JSON.parse()。 我知道如何用JSON更新多個DIV內容(在Ajax中,我硬編碼哪個DIV需要更新特定ID)。但是我的情況有些不同,因爲我需要在服務器端決定要更新哪個元素(基於數據庫記錄)。
我不需要在JS或JQuery的硬編碼的碼上哪個元素應用樣式,但這些元素應根據服務器端進行語法選擇。
我可以用JSON嗎?
請提供一個邏輯或簡單的例子,說明如何做到這一點。
非常感謝您的幫助!
Ajax + JSON = Ajaj?我需要在服務器端該元素的樣式改變決定:正如我所說http://stackoverflow.com/questions/1036028/get-json-data-back-from-ajax-call – jrummell