Javascript 如何绑定<;选择>;在ng重复中使用ng选项的ng模型
我有一个任务列表:Javascript 如何绑定<;选择>;在ng重复中使用ng选项的ng模型,javascript,angularjs,angularjs-ng-repeat,angular-ngmodel,angularjs-ng-options,Javascript,Angularjs,Angularjs Ng Repeat,Angular Ngmodel,Angularjs Ng Options,我有一个任务列表: [{ Titel: "Title1", Position: "9" },{ Titel: "Title2", Position: "1" },{ Titel: "Title3", Position: "5" },{ Titel: "Title4", Position: "7" }] 我正在尝试创建一个列表,其中每个列表都是list.lenght长,并且有一个选定的值。html代码段: <table cel
[{
Titel: "Title1",
Position: "9"
},{
Titel: "Title2",
Position: "1"
},{
Titel: "Title3",
Position: "5"
},{
Titel: "Title4",
Position: "7"
}]
我正在尝试创建一个列表
,其中每个列表都是list.lenght
长,并且有一个选定的值。html代码段:
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="ms-authoringcontrols"><b>Title</b></td>
<td class="ms-authoringcontrols"><b>Position</b></td>
</tr>
<tr ng-repeat="t in tasks">
<td>
<a href="TODO">{{t.Titel}}</a>
</td>
<td>
<select ng-model="t.Position" ng-options="t.Position as tasks.indexOf(i)+1 for i in tasks"></select>
</td>
</tr>
</table
标题
位置
如果要更改项目的顺序,需要在单独的数组中跟踪位置
这里有一个有效的例子
angular.module(“app”,[]).controller(“myCtrl”,函数($scope){
$scope.tasks=[{
标题:“标题1”,
位置:“9”
},{
标题:“标题2”,
职位:“1”
},{
Titel:“Title3”,
位置:“5”
},{
Titel:“Title4”,
位置:“7”
}];
$scope.positions=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”];
});代码>
标题
位置
您非常接近,您正在寻找的格式是选择作为数组中值的标签
,其中选择
是将分配给模型的值
在您的案例中,位置是字符串,因此我们需要将选择也转换为字符串,以便与模型匹配:
ng-options="(tasks.indexOf(i)+1).toString() as tasks.indexOf(i)+1 for i in tasks"
^ model value ^ display
(tasks.indexOf(i)+1+'
也可以)
angular
.module('测试',[]))
.controller('TestCtrl',函数($scope){
$scope.tasks=[{
标题:“标题1”,
位置:“9”
},{
标题:“标题2”,
职位:“1”
},{
Titel:“Title3”,
位置:“3”
},{
Titel:“Title4”,
位置:“2”
}];
});代码>
标题
位置
{{tasks}json}
是否要使用select更改数组顺序?或者只是Position属性?我只想将Position属性设置为select Box。我不想查看任务的顺序,Position是每个
应该选择的值。但是,如果每个选择框都有从1到nYes的排序值,那么您的示例就可以了,但是在您的示例中,即使没有第二个数组,也必须有一种方法来实现这一点,即$scope.positions
。