带有硬编码选项的 AngularJS 选择

标签 angularjs

为什么我的下拉菜单没有显示选择的值?
这是我拥有的 javascript 代码

<div ng-app="myApp">
 <div ng-controller="MyCtrl">
     <select ng-model="myModel.Active" convert-to-number>
       <option value="-1">Select</option>
       <option value="1">Yes</option>
       <option value="2">No</option>
       <option value="3">Maybe</option>
     </select>
     <span>{{myModel.Active}}</span>
 </div>
</div>

javascript
var myApp = angular.module("myApp",[]);
myApp.controller("MyCtrl", function($scope){
      $scope.myModel = {};
      $scope.myModel.Active=2; // 

});

js-fiddle 链接 -- https://jsfiddle.net/shatherali/4mxwzL5y/19/

编辑:请注意我不想使用字符串值。 Active 必须是一个数值。

最佳答案

这可以解决您的问题:

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

myApp.controller('MyCtrl', function ($scope) {
      $scope.myModel = {};
      $scope.myModel.Active = '2'; // it's a string
});

DEMO
convert-to-number指令工作正常。
var myApp = angular.module('myApp', []);

myApp.directive('convertToNumber', function () {
    return {
        require: 'ngModel',
        link: function(scope, element, attrs, ngModel) {
            ngModel.$parsers.push(function(val) {
                return parseInt(val, 10);
            });
            ngModel.$formatters.push(function(val) {
                return '' + val;
            });
        }
    };
});

DEMO

关于带有硬编码选项的 AngularJS 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36730532/

相关文章:

javascript - 检查值是否是数字做某事

javascript - Angularjs:ng-class没有上课

angularjs - 如何在 Protractor 测试运行之前设置浏览器大小?

javascript - 如何从 AngularJS 模板中的嵌套 JSON 数组中获取值?

javascript - Materialise 选择多个 "Check/Uncheck All"事件

javascript - UI 选择的对象源

javascript - 带有日期字符串的 Angular orderBy

javascript - Protractor :使用 Canvas 元素 - ng-if/ng-show

javascript - 返回点击返回浏览器操作

javascript - D3 图表问题,数据绑定(bind)不起作用