简体   繁体   中英

AngularJS <select> not saving value in object?

I have this select element in a row (of which there can be a few) which represents an item. But the scope for manufacturer does not update when this is selected. The default for the item's manufacturer attribute is null (since when it's created - it no manufacturer has been selected yet)

<select ng-model="manufacturer" ng-options="manufacturers.name for manufacturers in manufacturers" ng-change="change()" class="ng-valid ng-dirty">
<option value="" selected="selected" class=""> --Select a Manufacturer--</option>
<option value="0">Choice1</option>
<option value="1">Choice2</option>
<option value="2">Choice3</option>
</select>

I guess my question is - how do I get the manufacturer attribute in the item to update with the select box?

Thanks!

If it helps - here's the scope of the cams item:

$scope.cams = [
    {channels:1, manufacturer:null},
    {channels:1, manufacturer:null}
    ];

Turns out ng-model="manufacturer" should have been ng-model="cam.manufacturer" :

<select ng-model="cam.manufacturer" ng-options="manufacturers.name for manufacturers in manufacturers" ng-change="change()" class="ng-valid ng-dirty">
<option value="" selected="selected" class=""> --Select a Manufacturer--</option>
<option value="0">Choice1</option>
<option value="1">Choice2</option>
<option value="2">Choice3</option>
</select>

Now it works perfectly.

You could use this:

HTML
<selectmultiple ng-model="selectedValues">
    <option ng-repeat="lang inLanguages" value="{{lang.name}}" ng-click="selected(selectedValues)">{{lang.name}}</option>
</select>

angularjs:

$scope.selected = function(nowSelected){
    $scope.selectedValues = [];
    if( ! nowSelected ){
        return;
    }
    angular.forEach(nowSelected, function(val){
        $scope.selectedValues.push(val);
    });
};

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM