2013-08-21 54 views
0

狀態我有一個AJAX初學者問題,請顏色標識,COMPANY_NAME,select_button,狀態笨AJAX/JSON變格根據數據庫

當用戶點擊select_button在公司行上,狀態更改爲2,正常工作。但是,每個公司行都有一個進度條,當公司行的狀態爲2時,我希望該公司行的進度條應將顏色從綠色(狀態1)更改爲紅色(狀態2)。這裏是不成功的方法,我試圖做一個:

模型(名稱:GET_STATUS) - 獲取狀態爲每個公司行:

public function get_status(){ 
    $this->db->select('status') 
      ->from('companies'); 
    $query = $this->db->get(); 
    return $query->result(); 
} 

控制器(名稱:狀態) - 接受每個公司的地位行,並將其發送到經由JSON視圖:

public function status(){ 
    $output = $this->platform_model->get_status(); 
    return json_encode($output); 
} 

視圖(名稱:platform_view) - 接收控制器結果和用於根據狀態被改變進度條的顏色做邏輯2或1:

$(document).ready(function(){ 
     $ajax({ 
      url: '<?php echo site_url('home/status');?>', 
      type: 'POST', 
      datatype: 'json', 
      success: function(output){ 
       if(output === 2){ 
        $('.ui-progressbar-value').css('background', 'red'); 
       }else{ 
        $('.ui-progressbar-value').css('background', 'green'); 
       } 

      } 
     }); 
}); 

預先感謝您!

回答

1

首先,你應該是echo的json字符串,而不是從控制器返回它。其次,你需要明白你的AJAX將會收到一個JSON對象,而不是一個單一的值。

你的代碼應該是(控制器):

public function status(){ 
$output = $this->platform_model->get_status(); 
echo json_encode($output); 
} 

和Ajax:

$ajax({ 
     url: '<?php echo site_url('home/status');?>', 
     type: 'POST', 
     datatype: 'json', 
     success: function(output){ 
      // Sure you need the ===? Sometimes it does problems 
      if(output.status == "2"){ 

       $('.ui-progressbar-value').css('background', 'red'); 
      }else{ 
       $('.ui-progressbar-value').css('background', 'green'); 
      } 

     } 
    }).fail(function(){ 
      console.log("Error getting data from server"); 
    }); 
+0

偉大謝謝 – Hobby99