如何应用ng-translate来转换select框内的选项。 例如: 模板: <select class="form-control" ng-model="me.gender" ng-options="gender.name for gender in genders"> </select> 控制器: $scope.genders = [{code: "M", name:"TXT_MALE"}, {code: "F", name:"TXT_FEMALE"}] enUS.json: { "TXT_MALE": "Male", "TXT_FEMALE": "Female", } 我试图添加像filterng-options="gender.name for gender in genders | translate"但显然它是添加filter$scope.genders数组而不是单个元素 我试图写自己的filter(我是新来的) filter('translateArrayObj', ['$translate', '_', function($translate, _) { return function(arr) { var arr2 = []; angular.forEach(arr, function (value, key) { $translate(value.name).then(function(translation) […]
我正在努力理解ng-options如何与数据源协同工作。 我已经阅读了文档,并且觉得自己正在做所需的工作,但是尝试时仍然会遇到问题。 <!DOCTYPE html> <html ng-app="app"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"> </script> <link rel="stylesheet" href="style.css" /> <script type="text/javascript"> angular.module('app', []) .controller('IndexCtrl', ['$scope', function($scope) { $scope.types = { 1: "value1", 2: "value2", 5: "value3" }; }]); </script> </head> <body ng-controller="IndexCtrl"> <select ng-model="type" ng-options="k as v for(k, v) in types"> <option value="">Select Type</option> </select> </body> </html> 我总是在控制台中得到这个错误: 错误: 预期的ngOptions' […]
我想用一个<select>来使用ng-options来将数字整数值绑定到相应的选项列表。 在我的控制器中,我有这样的东西: myApp.controller('MyCtrl', function() { var self = this; var unitOptionsFromServer = { 2: "mA", 3: "A", 4: "mV", 5: "V", 6: "W", 7: "kW" }; self.unitsOptions = Object.keys(unitOptionsFromServer).map(function (key) { return { id: key, text: unitOptionsFromServer[key] }; }); self.selectedUnitOrdinal = 4; // Assume this value came from the server. }); HTML: <div ng-controller="MyCtrl as […]
我正在使用ng-options从下拉列表中select值。 我希望能够比较旧价值和新价值。 ng-change很适合抓取下拉的新值,但是怎样才能得到新值和原始值? <select ng-change="updateValue(user)" ng-model="user.id" ng-options="user.id as user.name for user in users"></select> 例如,假设我希望控制器logging“您的以前的用户名是BILL,您的当前用户名是PHILLIPE”。
我有点和Angular和ng-options混淆。 我有一个简单的数组,我想用它初始化一个select。 但是,我想要的选项值=标签。 的script.js $scope.options = ['var1', 'var2', 'var3']; HTML <select ng-model="myselect" ng-options="o for o in options"></select> 我得到: <option value="0">var1</option> <option value="1">var2</option> <option value="2">var3</option> 我想要的是: <option value="var1">var1</option> <option value="var2">var2</option> <option value="var3">var3</option> 所以我试了一下: <select ng-model="myselect2" ng-init=0 ng-options="options[k] as v for (k,v) in options"></select> <select ng-model="myselect3" ng-init=0 ng-options="b as b for b in options"></select> (但它没有工作。) 编辑: 我的表单是外部提交的,这就是为什么我需要“var1”作为值而不是0。
是否有可能使用ng-options ,它会根据条件渲染到禁用的行? 这个: <select ng-options="c.name group by c.shade for c in colors"> 也许可以变成这样的东西: <select ng-options="c.name group by c.shade for c in colors | disabled(c.shade)"> 并让我们说,通过一个filter,可能会返回disabled='disabled'的所有颜色的阴影=“黑暗” <select> <optgroup label="dark"> <option value="0" disabled="disabled">black</option> <option value="2" disabled="disabled">red</option> <option value="3" disabled="disabled">blue</option> </optgroup> <optgroup label="light"> <option value="1">white</option> <option value="4">yellow</option> </optgroup> </select>
我已经在其他文章中读过,但我无法弄清楚。 我有一个数组, $scope.items = [ {ID: '000001', Title: 'Chicago'}, {ID: '000002', Title: 'New York'}, {ID: '000003', Title: 'Washington'}, ]; 我想把它渲染为: <select> <option value="000001">Chicago</option> <option value="000002">New York</option> <option value="000003">Washington</option> </select> 而且我想选择ID = 000002的选项。 我已阅读选择和尝试,但我无法弄清楚。