2016-05-25 5 views
1

Auf meiner Seite, ich bin Rendering-Form, in den Daten von api Anruf kommen Daten wie folgt aussehen:kann nicht Wert aktualisieren kommt von Punkt Nation

{ 
    "id": 22, 
    "eventTypeId": 1, 
    "occuredDate": "2016-05-25T00:00:00", 
    "title": "event refresh", 
    "description": "check refresh table", 
    "studyId": 4, 
    "statusId": 5, 
    "severityId": 2, 
    "priorityId": 3, 
    "study.id": 4, 
    "study.name": "Study Y", 
    "status.id": 5, 
    "status.name": "Closed" 
} 

html:

<form style="padding: 15px" ng-submit="submitForm()"> 
      <div class="form-group row"> 
       <div ng-repeat="k in rowKeys | filter: '!id'" ng-model="rowValue"> 
       <label for="rowValue" class="col-sm-2"> 
       {{k | hide:'.name'}}:</label> 
<div class=" col-sm-2" > 
       <input class="form-control rowValue" id="rowValue" ng-model="rowData[k]" ng-disabled="isDisabled()"/> 
      </div> 
      </div> 
     </div> 
     <button type="submit" class="btn btn-default" ng-if="rowData" >Submit</button> 
</form> 

Mein Problem ist, Wenn ich Felder wie "title" oder "description" bearbeite, funktioniert alles einwandfrei, aber wenn ich versuche, Felder wie "study.name" oder "status.name" zu bearbeiten, wird die Seite nur aktualisiert und keine Aktualisierungen vorgenommen . Winkeluhr funktioniert gut und ich sehe in der Konsole, dass der Wert aktualisiert wurde, also könnte mir jemand helfen, meinen Fehler zu finden?

Mein einreichen Funktion:

$scope.submitForm = function() { 

     $scope.$watch('rowData', function(newValue, oldValue) { 
       console.log('being watched oldValue:', oldValue, 'newValue:', newValue); 
      }, true); 

     $http({ 
      method : 'PUT', 
      url  : $scope.globalUrl + $scope.id, 
      data : $scope.rowData //form 
     }) 
     .then(function (res) { 
       return res; 
      }) 
      .then(function(){ 
       $('#table').bootstrapTable('refreshOptions', { 
        'url': $scope.globalUrl 
       }); 
      }) 
    }; 

Meine Ladefunktion

$scope.load = function(){ 
$http({ 
        method: "GET", 
        url: $scope.globalUrl + $scope.id 
       }).then(function success(response) { 
        $scope.rowData = response.data; 
       }, function error(response) { 
        console.log("It has happend error in response") 
       }); 
} 

Antwort