srv srv - 5 months ago 31
AngularJS Question

AngularJS Getting the value of a selected dropdown option in a variable

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>

Answer

Here is a sample code with a fiddle attached

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

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

    $scope.cart = {
     'fruit': $scope.shelf[0]
    };


  $scope.shelf = [{
    'name': 'Banana',
    'value': '$2'
  }, {
    'name': 'Apple',
    'value': '$8'
  }, {
    'name': 'Pineapple',
    'value': '$5'
  }, {
    'name': 'Blueberry',
    'value': '$3'
  }];
});
<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!

Comments