我在下面有select
标记:
<td class="style126">
<select id="CountrySelect" name="country" class="form-control" style="width:42%;height:100%" ng-model="selectedCountry" required ng-options="Country as Country.CountryName for Country in countries| orderBy:countryOrderProp">
<option value="">--------Select--------</option>
</select>
</td>
<td class="style126">
<select id="departmentSelect" name="department" class="form-control" style="width:42%;height:100%" ng-model="selectedDepartment" required data-ng- change="updateDepartment()" ng-options="Department as Department.DeptName for Department in Departments | orderBy:departmentOrderProp">
<option value="">--------Select--------</option>
</select>
</td>
我尝试使用ngModel
为$stateParams
分配值。我怎样才能做到这一点?
我的$stateParams
是:
$scope.course = $stateParams.course;
$scope.selectedCountry = $stateParams.country;
$scope.selectedDepartment= $stateParams.Deptname;
答案 0 :(得分:0)
您的ng-options是
Department as Department.DeptName for Department in Departments
这意味着您希望每个选项值都是部门本身(即对象),但要显示为部门的名称。因此,需要明确的是,当您从此选择框中选择一个部门时,将为selectedDepartment
分配整个部门对象。不是它的名字。
必然结果是,如果要从包含部门名称的状态参数中预选部门,则需要在部门数组中找到具有给定名称的部门对象,并将此部门对象分配给{ {1}}。
或者您可以选择将ng选项更改为
selectedDepartment
然后在选择部门时,Department.DeptName for Department in Departments
将设置为所选部门的名称。因此,您可以将部门名称指定给selectedDepartment
以预先选择它。