看法
<select ng-options="department.name for department in departmentsList track by department.departmentID"
ng-model="editAllocate.department">
</select>
<select ng-options="position.name for position in positionsList track by position.positionID"
ng-model="editAllocate.position">
</select>
部门列表
departmentsList[0].departmentID = 1
departmentsList[0].name= 'Accounts'
departmentsList[1].departmentID = 2
departmentsList[1].name= 'Sales'
departmentsList[2].departmentID = 3
departmentsList[2].name= 'Service'
departmentsList[3].departmentID = 4
departmentsList[3].name= 'Management'
职位列表
positionsList[0].positionID = 1
positionsList[0].departmentID = 1
positionsList[0].name = 'Junior Accountant'
positionsList[1].positionID = 2
positionsList[1].departmentID = 1
positionsList[1].name = 'Senior Accountant'
positionsList[2].positionID = 3
positionsList[2].departmentID = 2
positionsList[2].name = 'Sales Executive'
positionsList[3].positionID = 4
positionsList[3].departmentID = 2
positionsList[3].name = 'Sales Officer'
positionsList[4].positionID = 5
positionsList[4].departmentID = 3
positionsList[4].name = 'Service Supervisor'
positionsList[5].positionID = 6
positionsList[5].departmentID = 3
positionsList[5].name = 'Service Engineer'
positionsList[6].positionID = 7
positionsList[6].departmentID = 4
positionsList[6].name = 'Administrator'
positionsList[7].positionID = 8
positionsList[7].departmentID = 4
positionsList[7].name = 'Manager'
当我编辑职位销售主管时,我需要将部门选择值设置为“销售”,并将职位选择值默认设置为“销售主管”。
我可以通过在angularjs中使用watch来根据部门选择的变化加载positionsList。
在手表上,
$scope.$watch('editAllocate.department', function()
{
$http(
{ method:'post',
dataType : 'json',
url:'<?php echo base_url()?>EditEmployee/getPositionsListForSelectedDepartment',
data : empDepartment,
headers : {'Content-Type': 'application/json'}
}).then(function mySuccess(response)
{
$scope.positionsList = response.data;
$scope.editAllocate.position = $scope.positionsList[0];
});
即,当我更改部门选择时,相应的位置列表会自动加载到位置列表选择中,并将第一个位置设置为选定位置。
但是,当我使用手表时,我无法在部门列表选择和职位列表选择中设置默认值。
即,如果我想在部门列表 (departmentsList[2]) 中编辑部门的第三个值,我需要将默认选定值设置为部门列表 [2],并将相应位置设置为位置选择中的默认位置(例如将 dfefault 设置为位置列表 [ 4]。
但是,当我使用手表时,我无法设置默认选择选项。当我使用手表时,默认值始终为部门列表 [0] 和位置列表 [0]。
当我只更改时,默认值更改为部门列表 [0] 和位置列表 [0]。
当不更改任何选择选项时,选择选项应为默认值。即部门列表[2] 和职位列表[4]。
如何设置默认值?以及如何设置手表?在角度 JS 1.6 中。
. . . . . . . .