我有一个用ng-repeat和选项制作的列表。我正在尝试这样做,以便当我单击一个选项时,选择的值将传递给一个对象。
<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
};
答案 0 :(得分:0)
实际代码是这样的:(并且在控制器内部无需做任何事情。
<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-options
代替ng-repeat来创建选项
https://docs.angularjs.org/api/ng/directive/ngOptions
答案 1 :(得分:0)
ng-model="vakselect"
只使用ng-model="user.vak"
。
然后,当选择的值更改时,user.vak
的值将自动更改。
答案 2 :(得分:0)
单击该选项时,会将t.name添加到数组中。看一下控制器功能和部分中的ng-click。
<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 )
}