2015-05-04 3 views
1

Мне нужно создать форму, состоящую из динамических мастеров с динамическими полями в angularJs.Получение данных динамических полей, созданных ng-repeat

Код для этого заключается в следующем:

<div ng-repeat="field in wizard.Wizardfields"> 
      {{field.label}} 
      <input type="{{field.type}}" placeholder="{{field.label}}" ng-model="field.value" /> 
     </div> 
<input type="button" value="Next" ng-click="next(field)" /> 

Теперь поля создаются, но я не могу понять, как получить данные, введенные во всех полях в угловом контроллере. Thanx за любую помощь относительно этого ...

EDIT

Теперь у меня есть данные всех полей этого решения

<input type="{{field.type}}" placeholder="{{field.label}}" ng-model="values[$index]" /> 

но нет никакой разницы, какое значение имеет, какие поля ,

Я имею в виду, что он дает массив, подобный ["abc", "12"], в то время как я хочу, чтобы он как [name: "abc", age: "12"] ... Или в любой форме, в которой данные определенного поля могут быть признаны ...

+0

«Поле» выходит за рамки вашего вышеуказанного «ng-click =» next (field) »' – g19fanatic

+0

, но если я поместил бы кнопку внутри div, она будет повторяться после каждого поля ввода. Есть ли какое-либо другое решение для этого просто хочу сохранить данные формы. –

ответ

1

Вы можете сохранить значения в массив значений с помощью $ индекс:

<input type="{{field.type}}" placeholder="{{field.label}}" ng-model="values[$index]" /> 

Как показано в этом plunker.

+0

thanx это сработало, но выдало его как ["abc", "123"], если хотите, чтобы [studentName: "abc", age: "123"]. Что-то вроде ng-model = "values ​​[field.fieldName: $ index] "...... что можно сделать cz его не работает –

+0

Просто чтобы убедиться, что я понял вашу проблему, проблема в том, что поля не находятся в области видимости, поэтому, как только вы нажмете« next »- данные будут не так ли? потому что, если у вас все еще есть данные, ваш код в порядке. [Plunker] (http://plnkr.co/edit/9zPVf691zPC1wrAG8pgP) – Daniel

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