2016-01-29 3 views
0

У меня есть вариант выбора, который необходимо заполнить данные из базы данных (JSON)Angularjs не загружены данные, чтобы выбрать опцию

Но его не заселить даже у меня есть правильные данные JSon

sample.html

<div class="form-group form-group-sm"> 
    <label class="sr-only" for="inputDoctype">Type</label> 
    <select aria-describedby="basic-addon1" class="form-control" ng-model="matin.type" ng-options="x.type for x in data"> 
     <option value="{{x.type}}">{{x.type}}</option> 
    </select> 
</div> 

controller.js

var xhr = $http({ 
    method: 'post', 
    url: 'http://localhost/onseral/api/list-doctype.php' 
}); 
xhr.success(function(data){ 
    console.log(JSON.stringify(data)); 
    $scope.data = data.type; 
}); 

список-doctype.php

<?php 

require_once '/config/dbconfig.php'; 

$table = (isset($_GET['table'])) ? $_GET['table'] : NULL; 

getById($table); 

function getById() { 
    $sql = "SELECT distinct type FROM min_in_head order by type asc"; 
    try { 
     $db = getdb(); 
     $stmt = $db->prepare($sql); 
     $stmt->execute(); 
     $data = $stmt->fetchAll(PDO::FETCH_OBJ); 
     $db = null; 
     echo json_encode($data); 

    } catch(PDOException $e) { 
     echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    } 
} 
?> 

консоль результат

[{"type":"Adj"},{"type":"WC IN"}]

Кто-нибудь знает почему?

ответ

0

первую очередь ваш JSON не кажется логичным, я бы chnaged тоже:

{"type":["Adj","CONS OUT"]} 

, но в любом случае, вы должны использовать угловые службы HTTP для заполнения рамки! так что это было бы так:

$http.post('http://localhost/onseral/api/list-doctype.php').then(function(res) { 
     $scope.matin= res.data; 
    }); 
+0

гм и при использовании 'нг -options', вам не нужно писать никаких '

+0

попробуйте изменить код, но он не работает. –

+0

Я написал это с моей собственной версией json! Я просто хотел, чтобы вы увидели, как вам нужно использовать сервис 'http'. для этого вам нужно будет ввести эту услугу и иметь правильный json. если вы это сделаете и перепишите свой вопрос, мы сможем помочь больше – azerafati

0

Try с этим

<div class="form-group form-group-sm"> 
    <label class="sr-only" for="inputDoctype">Type</label> 
    <select aria-describedby="basic-addon1" class="form-control" ng-model="matin.type" ng-options="x as x.type for x in data"> 
    </select> 
</div> 
+0

, но все же тот же –

0

вы можете использовать его

<select class="form-control" ng-model="matin.type" ng-options="x.type for x in data"> 
    <option value ="">select one</option> 
</select> 

нет необходимости

<option value="{{x.type}}">{{x.type}}</option> 
+0

попытался, но все тот же –

+0

вы можете создать демонстрацию плункера? –

Смежные вопросы