简体   繁体   中英

AngularJS: how to get selected option value and send to controller

how to get a value from select (code) and send to controller in angular for is using in the this controller??
My select consumes a web service code:

 <div class="form-group col-xs-12 offset-xs-2 col-md-3" ng-controller="productCtrl">
      <label for="selectProduct">Product</label> <br>
      <select class="form-control" id="product" required data-error="Select a Product!" tabindex="1">
              <option value="" selected >Select a Product!</option>
              <option value="{{product.codigo}}" ng-repeat="product in products">{{product.name}}</option>
      </select>
      <div class="help-block with-errors"></div>
 </div>

You have to use ng-model for this. Just change your select like this

<select class="form-control" id="product" ng-model="selectedProduct" required data-error="Select a Product!" tabindex="1">
    <option value="" selected >Select a Product!</option>
    <option value="{{product.codigo}}" ng-repeat="product in products">{{product.name}}</option>
</select>

Then in your controller you can access its value using

$scope.selectedProduct

For mor info about how the NgModel works you should read the docs

Use ngModel . You may also want to use ngOptions to generate the option tags for you.

For example:

<select ng-model="value" ng-options="option.value as option.label for option in options"></select>

The value will be available on your controller's scope ( $scope.value ). $scope.options should be an array of objects defining your options.

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