问 为什么我的下拉菜单没有显示选择的值?
这是我拥有的 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/