Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何绑定<;选择>;在ng重复中使用ng选项的ng模型_Javascript_Angularjs_Angularjs Ng Repeat_Angular Ngmodel_Angularjs Ng Options - Fatal编程技术网

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