0

Im в настоящее время пытается гнездо <select> внутри div с ng-repeatУплотненные нг-вариант в угловых нг-повторе

что-то вроде этого:

 <li ng-repeat="item in items > 
      <div class="row"> 
       <div class="col-xs-7"> 
        <span ng-bind="item.Name"></span> 
       </div> 
       <div class="col-xs-4 modal-body--ul--li__dropdown_container"> 
        <select ng-model="typemodel" > 
         <option ng-repeat="usertype in item.userGroups"></option> 
        </select> 
       </div> 
       <div class="col-xs-1"> 
        <a ng-click="add(item)"></a> 
       </div> 
      </div> 
     </li> 

В им контроллере добавление элемента на новый список с выбранными элементами. Я также хочу добавить значение из раскрывающегося списка в качестве нового значения в список в контроллере.

$scope.add = function (item) { 

    //New value with the value from the dropdown 
    item.recipientType = typemodel; 
    $scope.selected.push(item); 
}; 

Список:

$scope.items = [ 
    {   
     "Name":"Name1", 
     "userGroups":[ 
      { "type": "gruop1" }, 
      { "type": "gruop2" }, 
      { "type": "group3" }    
     ] 
    }, 
    { 
     "Name":"Name2", 
     "userGroups":[ 
      { "type": "gruop1" }, 
      { "type": "gruop2" }, 
      { "type": "group3" }    
     ] 
    } 
    ] 

Короче мне нужно выбранное значение из выпадающего списка, когда я попал в «добавить», значение текущего typemodel.

Вот как это выглядит сейчас, но это не работает. Я знаю, что мне нужно получить правильную модель и, возможно, отслеживать список элементов по индексу $ index, но после поиска в Интернете весь день для решения, я все еще застрял!

Вся помощь приветствуется.

-Спасибо!

пс. пожалуйста, прокомментируйте, если что-то отсутствует в вопросе, или что-то еще необходимо для решения этой проблемы.

+0

После прочтения всей истории, я не понимаю, что вы хотите иметь? – micronyks

+0

им жаль, meybe было немного неясно ... Мне нужно значение текущей выбранной опции, только для этого текущего элемента. – Rinrub

+0

@Rinrub взгляните на мой ответ, я полагаю, у меня есть твоя проблема. – Rebornix

ответ

1

Во-первых, изменить выпадающий список для

<select ng-options="usertype in item.userGroups" ng-model="item.recipientType"> 

Затем, когда вы вызываете функцию добавить, свойство элемента recipientType уже установлен.

$scope.add = function (item) { 
    console.log(item.recipientType); 
    $scope.selected.push(item); 
}; 
+0

Знаете ли вы, как установить значение defult для выбора? Thx alot btw !! – Rinrub

+0

Поскольку вам нужно отобразить раскрывающийся список для каждого элемента в 'ng-repeat', значение по умолчанию для выбора должно быть также с' item'. Поэтому правильным решением является предварительная обработка '$ scope.items' и инициализация' item.recipientType'. – Rebornix

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