[英]How can I set a select default value from a drop-down box in AngularJS?
[英]How can I set the default option in select box when an item was removed from the list - angularjs
我有一個angularjs控制器和html視圖,其中顯示了雇員姓名列表,以及他們是否是主管,最后是可供選擇的主管列表。 列表中將始終至少有一位默認主管,在這種情況下為Sally。
主管下拉菜單可以根據“主管”來更改。 選擇。 如果將員工設置為主管,則其姓名將顯示在下拉列表中。 如果將員工設置為不是主管,則其姓名將從主管列表中刪除,然后也從下拉列表中刪除。
在此示例中,我們有默認主管Sally,另外一名雇員Tom也被標記為主管。
讓我們將哈里的主管換成湯姆。
現在,如果我將Tom不再擔任主管,我希望Harry的主管下拉菜單將更改為默認主管Sally。 但是,相反,在Harry旁邊的下拉列表中出現了一個“空白”選項。
這就是問題所在,有人對如何解決此問題有任何建議嗎?
您可以在https://jsfiddle.net/w7gy6hn3/找到代碼
<select ng-init="defaultSupervisorId = responsiblePerson.id"
ng-model="defaultSupervisorId"
ng-options="supervisor.id as (supervisor.name + ' ' + supervisor.id) for supervisor in supervisorList">
</select>
這是更新的小提琴https://jsfiddle.net/55uk6m8L/只需將以下額外的代碼添加到您的控制器
$scope.updateDropDown = function(employee) {
for(var i=0;i<$scope.employees.length;i++)
{
if($scope.employees[i] != employee && $scope.employees[i].defaultSupervisorId == employee.id )
{
$scope.employees[i].defaultSupervisorId = $scope.supervisorList[0].id;
}
}
};
在splice方法之后在else塊中的$ scope.updateSupervisorList函數中調用此函數
$scope.updateDropDown(employee);
而且在html中,我更改了這些行
<select ng-init="employeeInfo.defaultSupervisorId = responsiblePerson.id"
ng-model="employeeInfo.defaultSupervisorId"
ng-options="supervisor.id as (supervisor.name + ' ' + supervisor.id) for supervisor in supervisorList">
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.