2015-09-17 32 views
0

我一直在研究jQuery中的ajax函數從django函數中提取數據,然後根據json對象的值將某些css類添加到div ajax函數從django函數中抓取。我試圖使用if語句將CSS類添加到我想要受影響的div,但這似乎並沒有工作,我不知道該如何去做。我包含了我的ajax函數的代碼,以及我的控制檯的屏幕截圖,以顯示json對象的樣子。任何可以給予的幫助表示讚賞。根據json對象的值更改ajax函數的輸出

enter image description here

$(function PYLoad() { 
    'use strict'; 
    $.ajax({ 
     url: 'http://127.0.0.1:8000/json', 
     type: 'GET', 
     success: function (data) { 
      console.log("PY_Load has Loaded successfully..."); 
      console.log(data); 
     }, 
     complete: function() { 
      console.log('Reloading...'); 
      setTimeout(PYLoad, 3000); 
     } 
    }); 
}); 
+1

你能包括你在你的問題中嘗試過嗎? –

回答

0

如果你有在由Django的功能輸出的您的JSON對象的結構控制我建議,形成了JSON的,可以讓你保持鍵固定的方式和變量的值,你的情況主要是顏色和變量將是綠色,紅色和默認之間的一個

{color: 'green||red||default'}; 

,然後在你的AJAX功能只是switch(data.color)這樣的:

switch(data.color){ 
case "red": $('#yourDiv').addClass('red');break; 
case "green": $('#yourDiv').addClass('green'); break; 
default: $('#yourDiv').addClass('default'); break; 
} 

如果無法選擇如何建立你的JSON那麼你可以使用一些if語句

if(data.green === "green"){ 
    $('#yourDiv').addClass('green'); 
} 
if(data.red === "red"){ 
    $('#yourDiv').addClass('red'); 
} 
if(data.default === "default"){ 
    $('#yourDiv').addClass('default'); 
} 
1

這是一個有些奇怪的是,JSON對象的屬性是調用之間的不同。但是,考慮到這一點...在這裏你去

success: function (data) { 
     if(data.green === "green"){ 
      $("#myDiv").addClass("myClass");  
     } 
     if(data.red === "red"){ 
      $("#myDiv").addClass("myOtherClass") 
     } 
     if(data.default === "default"){ 
      $("#myDiv").addClass("myDefaultClass") 
     } 
}, 
+0

這實際上是故意的。每個json對象表示一個不同的CSS類。這完全是情境。 – user3631048