2016-05-10 6 views
0

Я хочу получить все выбранные мной результаты для использования в моем контроллере.Как получить значение из нескольких опций выбора в контроллере

<div class="form-group" ng-repeat="att in arr track by $index" ng-hide="check"> 
    <div class="col-md-3"> 
     <label for="phone">{{att.name}}</label> 
    </div> 
    <div class="col-md-9"> 
     <select class="form-control" ng-model="user.charactValue" multiple="true"> 
      <option ng-repeat="itemss in att.value track by $index" value="{{itemss}}" >{{itemss}}</option> 
     </select> 
     <div class="text-center"><a data-toggle="modal" data-target="#addNewCharacteristic" ng-click="getObj(att)">Добави</a></div> 
    </div> 
</div> 
<input type="submit" ng-click="companyBusinessAsset"> 

$scope.companyBusinessAsset = function() { 
    console.log ($scope.charactValue); 
    // this return Undefined 
}; 

Введенный код используется, но каждый раз, когда они входят в if.

$scope.charactValue = []; 

$scope.$watch ('selected', function(nowSelected) { 
    $scope.selectedValues = []; 
    console.log(nowSelected) 
    // this return Undefined 
    console.log('dddd') 
    if (!nowSelected) { 
     console.log("IFFFFFF"); 
     return; 
    } 
    angular.forEach ($scope.charactValue, function(val) { 
     console.log(val); 
     $scope.charactValue.push (val.id.toString()); 
    }); 
}); 

ответ

0

Я сделал это в одном из моих проектов, как показано ниже, надеюсь, что это помогает:

<select multiple="multiple" name="selectedRoleId" ng-model="user.selectedRole" class="form-control"> 
     <option ng:repeat="role in roleList" value="{{role.Name}}">{{role.Name}}</option> 
</select> 

затем в функцию представить в контроллере:

//declare $scope.user to avoid undefined/notfound error 
$scope.user = {}; //above the function 
//and inside the function 
$scope.submitForm=function() { 
    var reguser = new models.register($scope.user); 
}; 

вы получите несколько выбранных значений в $scope.userselectedRole Недвижимость

+0

Этот код работает, но у меня есть 3 варианта множественного выбора, в ng-repeat каждый выбор имеет одну и ту же ng-model.I получить результат только по одной опции множественного выбора. –

+0

затем проверьте свои id/ng-модели элементов выбора с помощью firebug/explorer в браузере. они должны быть уникальными друг от друга –

1

ng-multiple="true" Попробуйте добавить к вашему select.

+0

Я добавляю ng-multiple = "true", но мой вариант стал стандартным вариантом –

+0

@ СтилиянГеоргиев Pleas e посмотрите на этот пример: http://jsfiddle.net/Arg0n/TXPJZ/1607/ – Arg0n

+0

Эта работа выполняется только в том случае, если результат печати указан в html, но я не получаю значение в моем контроллере (undefined). –

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