2014-09-11 38 views
0

我正在使用angularJs,並且我的代碼工作正常。我從API獲取數據,通過單擊單選按鈕進行更新,並將新數據返回。在成功的「Put」後,它將獲得新的數據並在選定的值之後顯示新的「Default」。如何使用刷新的api元素更新「輸入按鈕」

總結:一切正常,但「默認」不在正確的選定的地方。

enter image description here

另外這裏是我的代碼:

<div id="container" style="width:650px"> 
    <ol ng-repeat="element in accountmsisdn"> 

     <li style=" text-align:left; float:left"> 
      <input name="defaultSender" type="radio" ng-click="updateDefault(element)" ng-checked="element.default"> 
      <span>{{element.msisdn}} </span><span ng-if="element.default"><i>Default</i></span> 
     </li> 

這裏是JS

$scope.updateDefault = function(element) { 
    if (AuthService.isAuth()) { 

    Account.one().get().then(
     function(account) { 

     account.data.defaultMsisdn = element.msisdn; 
     $log.d("account: ", account.data); 

     account.data.put().then(
      function(resultOk) { 
      $log.d("Accountinfo ok: ", resultOk); 
      $scope.user = resultOk.data; 
      }, 
      function(resultError) { 
      $log.d("Accountinfo error: ", resultError); 
      ErrorService.showApiError(resultError); 
      } 
     ); 
     } 
    ); 
    } 
}; 
+0

您可以顯示設置'$ scope.element.default'的值的代碼部分嗎? – 2014-09-11 08:10:54

+0

對不起......沒有顯示出所有重要的html ..元素是ng-repeat的一部分 json – Flowdo 2014-09-11 08:13:46

+0

的一部分@Flowdo:你似乎從未分配過'element.default'。 – gkalpak 2014-09-11 08:18:50

回答

1

首先,ng-repeat需求是在<li>而不是在<ol>,並刪除float: left來自<li>

<div id="container" style="width:650px"> 
    <ol> 
     <li style=" text-align:left" ng-repeat="element in accountmsisdn"> 
      <input name="defaultSender" type="radio" ng-click="updateDefault(element)" ng-checked="element.default"> 
      <span>{{element.msisdn}} </span><span ng-if="element.default"><i>Default</i></span> 
     </li> 
    </ol> 
</div> 

在控制器:

$scope.updateDefault = function (element) { 
    // after getting resultOk, assuming the value of default is in resultOk 
    angular.forEach($scope.accountmsisdn, function (val, i) { 
     val.default = false; 
    }); 
    element.default = valueOfDefaultFromResultOk; // true/false 

};

+0

完美工作,非常感謝。 – Flowdo 2014-09-11 09:35:18