Я построил импортер контактов csv, используя Papaparse. Сайт работает на угловом уровне.Наличие нескольких динамических блоков выбора angularjs
Это моя форма:
<div ng-show="import_file_selected">
<form ng-submit="processImport()" name="importForm">
<div class="row">
<div class="col-md-12">
<table class="table table-hover">
<tr>
<th ng-show="has_header" class="col-md-4">Header</th>
<th class="col-md-4">Attribute</th>
<th class="col-md-4">Value Sample</th>
</tr>
<tr ng-repeat="row in rows">
<td ng-show="has_header">{{row.header}}</td>
<td>
<select class="form-control" name="{{row.header}}">
<option value="">Ignore</option>
<option ng-repeat="attribute in attributes" value="{{attribute.key}}">{{attribute.val}}</option>
<option value="add">Add Attribute</option>
</select>
</td>
<td>{{row.values}}</td>
</tr>
</table>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group col-md-offset-3">
<button class="btn btn-primary btn-block" type="submit">Save Import</button>
</div>
</div>
</form>
</div>
HTML, дает следующий результат:
До сих пор это все функции и дисплеи правильно. Однако я не знаю, как захватить данные в моей функции processImport()
.
Я думал об использовании привязки, но поскольку пользователь может добавлять/удалять атрибуты из окна выбора, я не могу предварительно создать окно выбора. И так как каждый csv может иметь различное количество столбцов, мне нужно повторить с каждым столбцом.
Любые предложения о том, как я могу захватить данные, представленные здесь? Пожалуйста, дайте мне знать, если я должен добавить что-нибудь еще.
взгляните на [эту скрипку] (http://jsfiddle.net/KN9xx/752/), вам нужно изменить какой-то код в html .. его всегда хорошая идея иметь объект, связанный с формой, чтобы захватить все данные .. и это стандартный способ сделать это в Angular – Minato
@Minato спасибо за скрипку, я обновил ее, чтобы показать свое затруднительное положение. Как я могу заставить его работать, если 'ng-model =" myform.selectedPerson "' было динамическим значением из бэкэнд? Поэтому 'ng-model' не будет« myform.selectedPerson'. В одном случае это будет 'myform.selectedPerson' и в следующем' myform.theServervisor'. Помните, что это значение определяется результатом API, поэтому это может быть что угодно, и я не могу установить/увидеть его. – Albert