我正在尝试翻译选择下拉列表,我不喜欢我这样做的方式,因为它很麻烦,它绕过了整个角度转换框架.
区域设置数据看起来像{"lang":{"label":"text","select":{"k1":"var1","k2":"var2"}}}如果我选择"选择"在控制器范围内的成员,我可以在select的ng-options中写一些类似"k as for(k,v)in scopedvar"的内容.
基本上我喜欢翻译来做语言解决,然后开始退出并返回我的选项的本地化地图.如果它有意义,例如:"k为v(for,k,v)in'select'| translate",但当然不会.
有没有人面临(并解决)此问题?
TIA,Edoardo
有没有一种方法来禁用option的select,当我们填充元素options与AngularJS NG选项?
像这样:http://www.w3schools.com/tags/att_option_disabled.asp
您可以通过添加ng-disabled到每个<option>标记来实现,但如果我们ng-options在select标记中使用该指令,是否有办法执行此操作?
我在这里复制了我的问题小提琴:http://jsfiddle.net/U3pVM/2840/
正如标题所示,我无法设置使用ng-options填充的选择的选定值.
我搜索并尝试了所有可能的解决方案.任何帮助或建议将不胜感激!
HTML
<div ng-app>
<h2>Todo</h2>
<div ng-controller="TodoCtrl">
<select ng-model="ddlRooms" ng-options="r.id as r.Name for r in Rooms">
</select>
{{$scope.test}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
角
function TodoCtrl($scope) {
$scope.Rooms = [{ Name: 'Toddler', id: 1 },{ Name: 'other', id: 2 }];
$scope.options = [{ Name: 'other', id: 2 }];
$scope.ddlRooms = $scope.options[0];
$scope.test = 'bla';
}
Run Code Online (Sandbox Code Playgroud) 我正在使用角度ng选项来显示有几个选项作为当前类别的父类别的选择,基本上这些选项包含所有现有类别,我需要从ng-options中排除当前类别,这相当于因为某个类别不能是其自身的父类别.那我该怎么做?目前我有以下代码:
<tr ng-repeat="category in allCategories">
<th ng-bind="category.name"></th>
<th>
<select ng-options="everyCategory.name for everyCategory in allCategories">
<option value="">Select parent category</option>
</select>
</th>
</tr>
Run Code Online (Sandbox Code Playgroud) 我正在使用ngOptions来构建选择菜单,但我的一个标签中有一个HTML实体&.标签显示为Books & Stuff没有Books & Stuff.我的玉是这样的:
select(ng-show="isType === 'select'", id="{{id}}", ng-model="model", ng-options="o.id as o.label for o in options")
Run Code Online (Sandbox Code Playgroud)
如何才能正确显示HTML实体?
更新
我正在尝试sal的答案:
select(ng-show="isType === 'select'", id="{{id}}", ng-model="model")
option(ng-repeat="o in options", ng-bind-html="o.label", value="{{o.id}}")
Run Code Online (Sandbox Code Playgroud)
这将显示正确的html实体,但不再根据模型选择正确的选项.例如,请参见http://jsfiddle.net/ucLvjvkn/1/.
我有一个<select>填充的通道ng-options.在特定情况下,当有序模型列表中的两个值相邻且值具有相同的第一个字母时,以角度中断更新模型值.这可能是一个浏览器事件问题,但我不确定.
我已经尝试change在没有任何运气的情况下手动触发该字段上的事件.如果可能,我们希望按字母顺序保留列表 - 更改顺序似乎可以解决问题.
该问题仅出现在Chrome中 - 我使用的是版本43.0.2357.81(64位).
任何想法,将不胜感激.谢谢.
javascript google-chrome angularjs ng-options angularjs-ng-options
我是angularjs的新手.我在html中有两个相同值的下拉菜单.在这里,我希望每当用户在第一个下拉列表中选择一个值,然后该值想要在第二个下拉列表中禁用.
var app = angular.module('plunker', [ 'ngRoute' ]);
app.controller('queryCntrl', function($scope) {
$scope.names = [ "Ali", "Raj", "Ahm", "Sbm", "Lvy" ];
});Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<title>Fund Transfer</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="lib/angular.min.js"></script>
<script src="lib/angular-route.min.js"></script>
<script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.22/angular.js" data-semver="1.2.22"></script>
<script src="app.js"></script>
</head>
<body>
<div ng-controller="queryCntrl">
From <select ng-model="selectedName"
ng-options="x for x in names">
</select>
</div>
<div>
<br> To <select ng-model="selectedName"
ng-options="x for x in names">
</select>
</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
如何使用ng-options设置默认选项?
我在控制器中设置了它(使用控制器作为语法):
this.myOption = this.myOptions[0];
但是,这仍然是一个空白的默认选项:
<option value="?" selected="selected"></option>
如何将默认选项设置为模型中的第一个值("项1")?
默认情况下,如果在a中没有选择任何内容,则angular使用空值<select>.如何将其更改为文字Please select one?
我从1.2.14迁移到1.4.8时遇到了这种情况.这在1.2.14中工作正常,但我在1.4.8中获得了无限的$ digest()循环.这是一个小提琴,展示了这个问题.小提琴比这篇文章更容易看,但是SO让我包括代码
我有一个select看起来像这样的元素:
<select ng-model="selectedId" ng-options="opt.id as opt.label for opt in getOptions()">
Run Code Online (Sandbox Code Playgroud)
我的选项是对象,如下所示:
$scope.options = [ { id: 1, label: 'one' }, { id: 2, label: 'two' } ];
Run Code Online (Sandbox Code Playgroud)
我想给出ngOptions指令的选项数组取决于条件; 有时我只是想给它$scope.options,但有时我想包括另一个选项.
$scope.getOptions = function() {
if ($scope.showThirdOption)
return [{ id: 3, label: 'three' }].concat($scope.options);
else
return $scope.options;
};
Run Code Online (Sandbox Code Playgroud)
现在,如果我以编程方式将我的模型设置为3:
...
$scope.selectedId = 3;
...
Run Code Online (Sandbox Code Playgroud)
......即使该选项不存在,Angular也不会感到沮丧.它只是<option>向<select>元素添加一个节点:<option value="?" selected="selected"></option>下拉列表中的选定值显示为空白.
但是,如果我然后设置我的状态st我的getOptions()返回另外的选项:
...
$scope.selectedId = 3;
$scope.showThirdOption = …Run Code Online (Sandbox Code Playgroud)