2017-01-28 2 views
0

Ich habe ein Problem, ich verwirrt, um enum Wert in eckigen js zu bekommen. Oke, ich habe eine Tabellenliste, die Spalte 'Criteria Type' gibt es zwei Werte von mysql: 'C' ist Kosten und 'B' ist Nutzen. Aber meine Tabellenliste zeigt nur "C" oder "B" an. Also, wie kann ich enum Wert durch anfängliche Zeichenfolge 'C' zu Kosten und 'B' zu profitieren bekommen? Hier mein Code-Controller:Wie bekomme ich enum Wert in angular js mit einer Antwortdaten

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

und hier meine Anzeigedaten Tabellencode:

<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> 

-Code Service:

/** 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; 
    } 
}]); 

Und meine API in PHP-Code:

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

Geben Sie den vollständigen Code des Dienstes. Und Backend – Shubhranshu

+1

Oke Master, bearbeitet. –

Antwort

0

Wenn ich un richtig zu verstehen, klingt es so, als ob Sie eine custom filter erstellen möchten.

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

Und in der Ansicht:

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

Danke, Bruder. Du sparst meinen Tag. Danke Larry. –

Verwandte Themen