admin管理员组

文章数量:1396739

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>

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>
Share Improve this question asked Nov 1, 2016 at 17:12 IgorDuarteIgorDuarte 932 silver badges6 bronze badges 2
  • 2 The concept with angular is that view should be controlled by the controller. Therefore you shouldn't really send the value to controller but let the controller control the view. Take a look at ngOption documentation and use ngModel to bind the value – Endless Commented Nov 1, 2016 at 17:18
  • Agree with the above -- definitely check out the ngOption documentation – Nathan Beck Commented Nov 1, 2016 at 17:43
Add a ment  | 

2 Answers 2

Reset to default 4

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.

本文标签: javascriptAngularJS how to get selected option value and send to controllerStack Overflow