2017-02-21 5 views
1

Я пытаюсь показать динамические данные JSON в динамическом сгенерированном входном угловом JS.Как показать динамические данные Json в динамических генерируемых входных угловых?

{ 
"social": [ 
    { 
     "id": "5694", 
     "types": "4", 
     "type": 4, 
     "web": "https://www.xing.com", 
     "title": "Xing" 
    }, 
    { 
     "id": "5695", 
     "types": "7", 
     "type": 7, 
     "web": "https://www.blog.com", 
     "title": "Blog" 
    } 
], 
"webtypes": { 
    "1": "LinkedIn", 
    "2": "Website", 
    "3": "Facebook", 
    "4": "Xing", 
    "5": "Twitter", 
    "6": "Experteer", 
    "7": "Blog", 
    "8": "Skype", 
    "9": "Windows", 
    "10": "Google", 
    "11": "Viadeo", 
    "12": "Github", 
    "13": "Youtube", 
    "14": "CrunchBase", 
    "15": "AngelList", 
    "16": "Glassdoor" 
}, 
"success": 1 

}

Try для создания поля ввода на основе данных JSON

<fieldset class="noborders" data-ng-repeat="social in socials"> 
     <select ng-model="socialselect[social.title]" ng-options="key as value for (key , value) in webtypes"> 
     </select> 
    <label class="item item-input"> 
     <input type="text" ng-model="socialinput[social.id]" ng-value="{{social.web}}" > 
    </label> 
</fieldset> 

Я не смог получить данные с помощью "ng-model". Пожалуйста, помогите мне.

+1

он должен быть 'нг-модель = "social.title"' а не 'socialselect [social.title]' – Rajesh

+0

Покажите свой полный JSON. Не понимаю, как вы написали выражение для 'ng-model' – SaiUnique

+2

Chanve' ng-value = "{{social.web}}" 'to' ng-value = "social.web" ' – Korte

ответ

2

похоже на this fiddle и изменить ng-value="{{ social.web }} " на ng-value="social.web" - AngularJS ng-value documentation.

<div ng-controller="MyCtrl"> 
    <fieldset class="noborders" data-ng-repeat="social in socials"> 
     <label class="item item-input"> 
      <input type="text" ng-model="social.web"> 
     </label> 
    </fieldset> 
    <button ng-click="submit()"> 
    Send form 
    </button> 
</div> 

AngularJS Контроллер

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

myApp.controller('MyCtrl', function ($scope) { 

    $scope.socials = [ 
     { 
      "id": "5694", 
      "types": "4", 
      "web": "https://www.xing.com", 
      "title": "Xing" 
     }, 
     { 
      "id": "5695", 
      "types": "7", 
      "web": "https://www.blog.com", 
      "title": "Blog" 
     } 
    ]; 

    $scope.submit = function() { 
     console.log($scope.socials); 
    } 
}); 
+0

Спасибо за ваш ответ, но когда я пытаюсь получить данные из входных данных, покажите пустое' '$ scope.socialinput: Object {}'. Если я просто отредактирую или обновляю один символ во входных данных, тогда Я получаю данные - '$ scope.socialinput: Object {5694:« https://www.xing.com »}' – Neotrixs

+0

@ Ниоткуда приятно, вот как это работает. В чем проблема? Нужно ли вам это: http://jsfiddle.net/r3z24LLf/2/? – lin

+0

Есть два данных JSON. Если я обновляю или редактирую только одно поле ввода, то получаю только одно полевое поле данных. Я не получаю другие данные поля ввода. – Neotrixs

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