zafirov zafirov - 1 month ago 10
AngularJS Question

Angularjs select with ng-repeat, on select bind ng-model with object

After my get request i get

$scope.variables = response.data;


my select is:

<select name="varSelect" id="varSelect" ng-model="wid.adapter">
<option ng-repeat="variable in variables" value="{{variable.id}}">{{variable.name}}</option>
</select>


after that i have two input text fields

<input type="text" ng-model="wid.url" />
<input type="text" ng-model="wid.name" />


On button click i want to post wid

$http.post(some_url, $scope.wid).then(function (response) {
console.log(response);
});


My problem is that i dont get the object variable in wid.adapter. I gog the id.
How to modify my code to get the variable instead of id?

M B M B
Answer

use the variable as the value not the id

and use the ng-option attribute on the select to bind it properly

<select name="varSelect" id="varSelect" ng-model="wid.adapter"
    ng-options="variable.name for variable in variables">
    </select>
Comments