AngularJS Getting the value of a selected dropdown

2019-09-12 17:47发布

I have dropdown selection menu & want to send the dropdown selected value in request params of api. My code is...

<select class="form-control" id = "SelectionInput_reason">
   <option name="careerType" value="type_1">Career</option>
   <option name="examType" value="type_2">Exams</option>
</select>

getValue = function() {
    var selectedValue = this.value;
    var selectedText = this.options[this.selectedIndex].getAttribute('name');
    alert(selectedValue); 
    alert(selectedText); 
} 
document.getElementById('SelectionInput_reason').addEventListener('change', getValue );

Please give answer in angularJS if possible...

also how can I get the text input of tinymceeditor in a variable ?

$scope.tinymceModel = 'Initial content';
        $scope.getContent = function() {
          console.log('Editor content:', $scope.tinymceModel);
        };
        $scope.setContent = function() {
          $scope.tinymceModel = 'Time: ' + (new Date());
        };
        $scope.tinymceOptions = {
          selector: 'textarea',
          //plugins: 'link image code',
          toolbar: ' bold italic | undo redo | alignleft aligncenter alignright | code'
        };

HTML is..

<div class="form-group">
     <textarea ui-tinymce="tinymceOptions" id="jander" ng-model="tinymceModel" placeholder="Ask your question" class="form-control"></textarea>
 </div>

2条回答
三岁会撩人
2楼-- · 2019-09-12 18:28

Bind a model in your select dropdown. Like below

<select class="form-control" id = "SelectionInput_reason" data-ng-model="inputReason">

In your controller you will get selected option

console.log($scope.inputReason)

查看更多
不美不萌又怎样
3楼-- · 2019-09-12 18:37

Here is a sample code with a fiddle attached

var myApp = angular.module('myApp', []);

myApp.controller('MyCtrl', function($scope) {

  $scope.shelf = [{
    'name': 'Banana',
    'value': '$2'
  }, {
    'name': 'Apple',
    'value': '$8'
  }, {
    'name': 'Pineapple',
    'value': '$5'
  }, {
    'name': 'Blueberry',
    'value': '$3'
  }];

  $scope.cart = {
     'fruit': $scope.shelf[0]
  };
});
<div ng-controller="MyCtrl">
  <div>
    Fruit List:
    <select ng-model="cart.fruit" ng-options="state as state.name for state in shelf"></select>
    <br/>
    <tt>Cost & Fruit selected: {{cart.fruit}}</tt>
  </div>

</div>

Fiddle link : http://jsfiddle.net/Td2NZ/1867/

My advise in this scenario is try to keep all input choices as a Js Object (Like $scope.shelf in this code) cause thats what Angular is built for rigid and robust handling of the data, eventually you could just load those options from a server or json file and not having to touch your HTML at all!

Hope this helps!

查看更多
登录 后发表回答