Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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/1/angularjs/25.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模型值传递给对象_Javascript_Angularjs - Fatal编程技术网

Javascript 将ng模型值传递给对象

Javascript 将ng模型值传递给对象,javascript,angularjs,Javascript,Angularjs,我有一个用ng重复选项制作的列表。我试图这样做,当我单击一个选项时,选择的值将传递给一个对象 <select id="selectvak" name="selectvak" class="form-control" multiple="multiple" > <option value="1" ng-repeat="t in klas" ng-model="vakselect">{{ t.Name }}</option> </select>

我有一个用ng重复选项制作的列表。我试图这样做,当我单击一个选项时,选择的值将传递给一个对象

<select id="selectvak" name="selectvak" class="form-control" multiple="multiple" >
    <option value="1" ng-repeat="t in klas" ng-model="vakselect">{{ t.Name }}</option>
</select>

$scope.user = {
vak: klas.vakselect,
};
我在Angular方面的经验很少,所以我不知道如何使其正确工作

编辑:

我已经调整了代码,user.vak似乎捕获了selectvak字段,但现在将其作为数组传递。如何使其成为$scope.user中的字符串?所以,每当我登录用户时,我都会看到一个vak字符串,然后是一个学生数组

<select id="selectvak" name="selectvak" class="form-control" multiple="multiple" ng-model="user.vak" ng-options="t.Name as t.Name for t in klas" ng-click="getJSON1()">


 $scope.user = {
vak: '',
// klas: klasselect,
student: [$scope.student] -1
};

真正的代码是这样的:在控制器内部什么都不做

<select id="selectvak" name="selectvak" class="form-control" multiple="multiple"  ng-model="user.vak">
    <option value="1" ng-repeat="t in klas">{{ t.Name }}</option>
</select>
您应该使用ng选项而不是ng repeat来创建选项
TLJ和Arnaud是正确的。 但是,在select标记中回答您的初始问题时,不要使用ng model=vakselect,而只使用ng model=user.vak。
然后,当select的值更改时,user.vak的值将自动更改。

这将在您单击该选项时将t.name添加到数组中。查看控制器功能,并在部分中单击ng

  <select id="selectvak" name="selectvak" class="form-control" multiple="multiple" >
        <option value="1" ng-repeat="t in klas" ng-click="add(t.Name)" ng-model="vakselect">{{ t.Name }}</option>
    </select>

    var string_option;
    $scope.add = function(t) {
        string_option = t; 
        console.log(string_option )
    }

使用ng选项将使表单成为下拉列表,这是我不想要的。现在的格式是用于打开列表。如果使用select,则必须使用ng选项来填充,而不是ng repeat。我认为这是一种引导格式,可以将其更改为打开表单。Angular使用此表单:而Bootstrap使用此表单:我已经相应地输入了select ng选项,但它使用了一个组合框。在select上添加多个=多个。我必须将其推入数组吗?无法将其转换为字符串吗?您是指数组中包含所有元素的字符串吗?我正在尝试选择1个选项,并将所选选项的值传递到单个字符串中,而不是整个列表中。这似乎是迄今为止最好的答案,但当我在控制台中记录vak时,它会将其记录为空。请尝试记录user.vak.Yes,这就是我的意思。它将user.vak返回为空。一个更好的例子是使用ng更改和select中的属性大小,以不允许用户选择多个选项:我尝试了您最初的方法,将ng模型置于选项表单中,将第二个方式ng模型置于select表单中,但这两次都返回到数组。我怎么把它做成一根绳子?