<form>
<div ng-if="record.title" class="customClasses" ng-repeat="record in $.basevm.recordsperPage">
<manycustomDirective data-record="record"></manycustomDirective>
</div>
</form>
Несколько записей загружаются с использованием вышеприведенной директивы и есть несколько страниц.
У этого manycustomDirective.cshtml снова есть еще одна настраиваемая директива, как показано ниже, которая показывает выпадающие списки, используя "select"
<single-choice ng-if="record.type == 1" data-record="record" ></single-choice>
<multi-choice ng-if="record.type == 2" data-record="record" ></multi-choice>
В файле директивы cshtml с одним выбором я могу выбрать + опции
<select class="customclassdeginedinLESS" ng-model="record.id" >
<option value=""></option>
<option value="{{choice.id}}" ng-repeat="choice in record.choices">{{ choice.text }}</option>
</select>
Проблема
Для IE сохраняется только одно значение из всех страниц и настраиваемых директив, но в хроме и FF все сохраняется.
Я пробовал использовать трек по выбору.id и отслеживать по индексу $ index, но он не работал. Пытаясь написать прослушиватель на ng-изменении выбора внутри функции "ссылка" директивы CUSTOM, я назначил hardcoded значение scope.ngModel, но все равно оно не работает.
link(scope: any, element: any, attrs: ng.IAttributes) {
scope.ngchangeListener= function (item) {
scope.ngModel = '00000000';
}
Основываясь на вашем вопросе, я предполагаю, что вы хотите следующее поведение: Отобразите <select>
где каждый record.type
равен 1, который позволит пользователю обновить идентификатор для этой записи на record.choices
доступных для нее record.choices
.
Пожалуйста, проверьте следующий плункер, чтобы узнать, разрешает ли он вашу проблему. При запуске в IE 11 (только версия, к которой у меня есть доступ) модификация <select>
обновит record.id
для соответствующего элемента
Я попытался упростить эту проблему, удалив ссылки на ваши пользовательские директивы и избавив их от использования ng-repeat
<option>'s
для использования ng-options
Предполагаемая версия угловой: 1.4.12
Согласно документу angularJs, есть некоторые правила, о которых вам следует знать при использовании IE.
Для получения дополнительной информации см. Https://docs.angularjs.org/guide/ie