2017-01-28 41 views
0

我有一个问题,我很困惑,以获得角JS的枚举值。 Oke,我有表列表,'标准类型'栏有两个来自mysql的值:'C'是成本,'B'是好处。但是我的表格列表只显示“C”或“B”。那么,如何通过初始字符串'C'获得/使枚举值为成本和'B'为好处? 这里我的代码控制器:如何获得响应数据的角JS的枚举值

adminService.get('kriteria').then(function(response){ 
    $scope.datas = response.data; 
}); 

,在这里我的显示数据表代码:

<div class = "panel-body"> 
      <div id="add-button"><a href="#!/kriteria/0" class="btn btn-primary" style="margin:5px 5px 5px 10px">Tambah Kriteria</a></div> 
      <table class="table table-striped"> 
       <thead><tr><th>No</th><th>Code Kriteria</th><th>Nama Kriteria</th><th>Criteria Type</th><th>Skala Kepentingan</th><th>Proses</th></tr></thead> 
       <tbody><tr ng-repeat="(v,i) in datas"><td>{{v+1}}</td><td>{{i.kd_kriteria}}</td> 
        <td>{{i.nama_kriteria}}</td><td>{{i.jenis_kriteria}}</td><td>{{i.id_skala}}</td><td><a href="#!/kriteria/{{i.id_kriteria}}">Edit</a> | 
         <a href="" ng-click="delete(i.id_kriteria)">Hapus</a></td></tr></tbody> 
      </table> 
     </div> 

代码服务:

/** adminControl Service **/ 
app.service('adminService', ['$http', '$route', function($http, $route){ 
    var links = "./services/"; 

    this.get = function(url){ 
     return $http({ 
      method:'GET', 
      url:links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json' 
     }); 
    } 

    this.post = function(url,data){ 
     return $http({ 
      method:'POST', 
      url:links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json', 
      data: data 
     }); 
    } 

    this.update = function(url,data){ 
     return $http({ 
      method:'UPDATE', 
      url:links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json', 
      data: data 
     }); 
    } 

    this.delete = function(url) { 
     return $http({ 
      method: 'DELETE', 
      url: links + url, 
      headers: {'Content-Type': 'application/json; charset=utf-8'}, 
      dataType: 'json' 
     }); 
    } 

    this.getReload = function(url){ 
     $route.reload(); 
     location.href=url; 
    } 
}]); 

和我的PHP代码API:

function kriteria(){ 
     switch($this->get_request_method()){ 
      case "GET": 
       if(!isset($_GET['id'])){ 
        $result = NULL; 
        $sql = $this->pdo->prepare("SELECT * FROM tbl_kriteria, tbl_skala 
               WHERE tbl_kriteria.id_skala = tbl_skala.id_skala ORDER BY 1 DESC"); 
        $sql->execute(); 
        while($r = $sql->fetch(PDO::FETCH_ASSOC)){ 
         $result[] = $r; 
        } 
        return $this->response($this->json($result)); 
       }else{ 
        $result = NULL; 
        $sql = $this->pdo->prepare("SELECT * FROM tbl_kriteria 
               WHERE id_kriteria = '".$_GET['id']."' 
               ORDER BY 1 LIMIT 1"); 
        $sql->execute(); 
        if($sql->rowCount()){ 
         $r = $sql->fetch(PDO::FETCH_ASSOC); 
         $result = $r; 
         return $this->response($this->json($result)); 
        } 
       } 
       break; 
      case "POST": 
       $data = json_decode(file_get_contents("php://input"),true); 
       $sql = $this->pdo->prepare("INSERT INTO tbl_kriteria (id_skala, kd_kriteria, nama_kriteria, jenis_kriteria) 
              VALUES (:id_skala, :kd_kriteria, :nama_kriteria, :jenis_kriteria)"); 
       $sql->bindParam(':id_skala', $data['id_skala']); 
       $sql->bindParam(':kd_kriteria', $data['kd_kriteria']); 
       $sql->bindParam(':nama_kriteria', $data['nama_kriteria']); 
       $sql->bindParam(':jenis_kriteria', $data['jenis_kriteria']); 
       $sql->execute(); 
       break; 
      case 'DELETE': 
       $sql = $this->pdo->prepare("DELETE FROM tbl_kriteria WHERE id_kriteria = '".$_GET['id']."'"); 
       $sql->execute(); 
       break; 
      case 'UPDATE': 
       $data = json_decode(file_get_contents("php://input"),true); 
       $sql = $this->pdo->prepare("UPDATE tbl_kriteria set kd_kriteria = '".$data['kd_kriteria']."', 
              nama_kriteria = '".$data['nama_kriteria']."', jenis_kriteria = '".$data['jenis_kriteria']."' 
              id_skala = '".$data['id_skala']."' WHERE id_kriteria = '".$data['id_kriteria']."'"); 
       $sql->execute(); 
       break; 
     } 
    } 
+0

提供服务的完整代码。和后端 – Shubhranshu

+1

奥克大师,编辑。 –

回答

0

如果我联合正确地说,你听起来像是想创建custom filter

app.filter('criteriaFilter', function() { 
    return function(input) { 
    var myEnum = { 
     "C": "Cost", 
     "B": "Benefit", 
    }; 
    return myEnum[input]; 
    } 
}); 

而在你的看法:

<li ng-repeat="i in criteria">{{i.type | criteriaFilter}}</li> 
+0

感谢兄弟。你拯救我的一天。谢谢Larry。 –