2016-07-29 3 views
0

Я создал мультиселекцию с директивой autocomplete, которая отображает выбранный список в ng-модель директивы. Я хочу получить одно значение поля из ng-модели и назначить его другой ng-модели. Я не могу этого сделать. Если я передаю значение всей ng-модели и присваиваю другой ng-модели свой рабочий режим, но с единственным значением поля, он не работает.Назначить значение из одной ng-модели в другую в angularjs

Вы можете найти ссылку на стельку для кода -

https://jsfiddle.net/719x1rbs/11/l

<div ng-controller="TestCtrl"> 


    <typeahead data-ng-model="selecteds" ng-change="emailId=selecteds.email" items="contacts" displaytag="name" displayitem="name"> 
    </typeahead> 
    <input type="hidden" ng-model="emailId" /> 
    {{emailId}} 
    </div> 

Я не могу запустить код в скрипку, но его бегущий код в моей системе.

Может кто-нибудь, пожалуйста, помогите мне в том, как я могу передать одно поле в ng-модели на другую ng-модель. В {{emailId}} я должен получить значение «@ pacman.com».

+0

Предоставьте дополнительную информацию о том, что вы хотите, и где она будет отражать изменения. @sonam – Viplock

+0

В ng-модели, прикрепленной к директиве, я получаю значения как массив. На бэкэнд я не хочу посылать полный массив выбранных элементов. Я просто хочу отправить, как сказать в приведенном выше примере emailId, поэтому я беру скрытую переменную и сопоставляю значение ng-model директивы этой скрытой переменной ng-model onchange, но ее не работает. Я хочу передать значение в бэкэнд как {'[email protected]', '[email protected]', '[email protected]'}. Также я приложил код скрипта для того же самого. – Sonam

+0

Хорошо, я понял, что я хочу исправить то, что вы не «скрипач», его скрипач «скрипка» - это еще один инструмент. – Viplock

ответ

0

На самом деле проблема с кодом, вы хотите получить электронный идентификатор из выбранных элементов, делая selecteds.email но selecteds не является объект со свойством email его массив выбранных объектов. Таким образом, вы должны использовать свойство двухстороннего связывания Angular и напрямую использовать массив Array объекта selecteds и повторить его, чтобы получить отдельный массив идентификаторов электронной почты. На каком-то конкретном событии. Потому что в вашем случае событие ng-change не будет срабатывать каждый раз, когда значение Модели изменится, поскольку его пользовательская директива вы можете пройти через Question/Answer. Поэтому убедитесь, что вы запустили надлежащее событие для своей полной потребности.

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