Javascript 将ng模型值传递给对象
我有一个用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>
<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表单中,但这两次都返回到数组。我怎么把它做成一根绳子?