2017-01-31 91 views
0

我有幾個下拉列表和預定義的字段。現在我正在調用ajax調用數據庫並獲取數據。 數據從數據庫中正常傳入,我可以在Firebug(網絡選項卡)中看到數組。angularjs:從數據庫的下拉列表中設置選定的項目

我想將此數據設置爲在下拉列表中選中。在文本框中它很簡單。 但我很難與下拉菜單。下面

formApp.controller('getprofile', function($scope,$http){ 
    $http({ 
          url: 'get_profile.php', 
          method: "GET", 
          params: {uid: uid} 
         }) 
        .success(function(data) { 

         if (data.success) { 

         $scope.formData.dob = data.dob; 
         $scope.married = data.married; 
} 

HTML代碼從AJAX

<input name="dob" id="dob" type="text" class="form-control textbox1" required="required" placeholder="Date of birth(dd-mm-yyyy) " ng-model="formData.dob"> 
<div class = "errorba" ng-show="dob">{{dob}}</div> 
</div> 

<div class="form-group" ng-class="{ 'has-error' : errormarried }">  
     <select id="married" name="married" class="selector form-control" ng-model="formData.married" required="required"> 

      <option value="0" selected="selected" >Maritial Status</option> 
      <option value="1" >Single</option> 
      <option value="2">Married</option> 

     </select> 
<span class="errorba" ng-show="errormarried">{{ errormarried }}</span> 
</div> 

數據

Ajax代碼 - 1 1表示單。

請告知我做錯了什麼。

+0

分享你的API調用得到的迴應。因爲你的控制器中的ng-model和$ scope變量是不同的 – JSNinja

+1

。謝謝。請將其粘貼到答案中。所以我可以接受它。 – nivas

+0

@nivas它的工作原理在控制器中修改'$ scope.formried.Data =「data.married;''scope = $ scope.formData.married = data.married;' – Ironic

回答

1

更改$scope.married = data.married;$scope.formData.married = data.married;在控制器中,因爲您的控制器中的ng-model$scope變量是不同的。

在最壞的情況下,您可能會收到錯誤formData未定義在您的控制器中。所以在使用賦值給它之前定義$scope.formData = {};

formApp.controller('getprofile', function($scope,$http){ 
 
    $http({ 
 
          url: 'get_profile.php', 
 
          method: "GET", 
 
          params: {uid: uid} 
 
         }) 
 
        .success(function(data) { 
 

 
         if (data.success) { 
 
         $scope.formData = {}; 
 
         $scope.formData.dob = data.dob; 
 
         $scope.formData.married = data.married; 
 
}

+0

謝謝。投票並接受答案。 – Ironic

相關問題