2016-09-16 3 views
-1

У меня есть данные в формате JSON, например:Получить отредактированное значение в AngularJS

"details": { 
    "col1": "value1", 
    "col2": "value2", 
    "col3": "value3", 
    "col4": "value4", 
    "col5": "value5", 
    "col6": "value6", 
    "col7": "value7", 
    "col8": "value8" 
    } 

<div ng-repeat="(key,value) in details"> 
<div>{{key}}:</div> 
<input value="value">{{value}} </input> 

Если я отредактировать значение подано, как можно получить отредактировано значение в контроллере?

ответ

0

Используйте $ объем переменной и связываются с нг-модели

<input type="text" ng-model="value" ng-blur="print(value)" size="30"> 

WORKING DEMO

+0

он работает нормально, но я хочу также обновить json – user123

0

var app = angular.module('myApp', []); 
 

 
app.controller('appCtrl', function($scope) { 
 
    var details = { 
 
    "col1": "value1", 
 
    "col2": "value2", 
 
    "col3": "value3", 
 
    "col4": "value4", 
 
    "col5": "value5", 
 
    "col6": "value6", 
 
    "col7": "value7", 
 
    "col8": "value8" 
 
    } 
 

 

 
    $scope.details = details; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="myApp"> 
 
    <div ng-controller="appCtrl"> 
 
    <div ng-repeat="(key,value) in details"> 
 
     <label>{{key}}:</label> 
 
     <input ng-model="details[key]"> 
 
    </div> 
 
    <br> 
 
    <br> 
 
    <div>{{details}}</div> 
 
</body>

0

Это то, что вы ищете?

Попробуйте этот рабочий фрагмент. Это даст значение зависит от измененного в текстовом поле.

var app = angular.module('myApp', []); 
 

 
app.controller('appCtrl', function($scope) { 
 
    var details = { 
 
    "col1": "value1", 
 
    "col2": "value2", 
 
    "col3": "value3", 
 
    "col4": "value4", 
 
    "col5": "value5", 
 
    "col6": "value6", 
 
    "col7": "value7", 
 
    "col8": "value8" 
 
    } 
 

 

 
    $scope.details = details; 
 
    
 
    $scope.getChangedValue = function(value){ 
 
    console.log("Key :" + value); 
 
    console.log("Value :" + details[value]); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="myApp"> 
 
    <div ng-controller="appCtrl"> 
 
    <div ng-repeat="(key,value) in details"> 
 
     <label>{{key}}:</label> 
 
     <input ng-model="details[key]" ng-blur="getChangedValue(key)"> 
 
    </div> 
 
    <br> 
 
    <br> 
 
    <div>{{details}}</div> 
 
    </div> 
 
</body>

@Mahesh Karthu: Спасибо за сниппета.