show angularjs下拉选择值

时间:2017-11-08 09:08:55

标签: angularjs ajax

我在下拉列表中添加了指定字段的员工(例如'员工')。当我尝试在另一个页面中编辑员工的个人资料时,指定应显示预先选择的下拉值以及下面的剩余值。(所选的指定不首先显示。它显示为正常下拉列表) 我试过了selected="selected"

<select class="form-control edited" id="designation_edit"  name="designation_edit" ng-model="designation_edit">
       <option value="HR" selected="selected">HR Executive</option>
       <option value="Manager">Manager</option>
       <option value="Employee">Employee</option>
       <option value="Admin">Admin</option>
</select>

我的页面中有两个模态框。一个用于&#34;添加员工&#34;另一个是edit profile。当我将具有指定值的员工从下拉列表添加为employee时,此选定值应首先显示在编辑页面&#39;指定&#39;下拉列表中的剩余值下拉列表。 但目前,它在编辑个人资料页面中显示为正常下拉列表。我需要从添加页面中获取所选值并在此处显示。

请帮我在angularjs中提出这个问题。

在ajax调用中添加以下行是否正确

$('#designation_edit').attr("selected":"selected");

我试过了:

$('#designation_edit').append('Designation Manager Employee Admin');

2 个答案:

答案 0 :(得分:2)

简单方法

如果您有一个用户作为响应或您定义的阵列/ JSON,首先您需要在控制器中设置所选值,然后在html中放置相同的型号名称。我写这个例子以最简单的方式解释。 简单的例子 内部控制器:

$scope.Users = ["Suresh","Mahesh","Ramesh"]; 
$scope.selectedUser = $scope.Users[0];

您的HTML

<select data-ng-options="usr for usr in Users" data-ng-model="selectedUser">
</select>

复杂的例子 内部控制器:

$scope.JSON = {
       "ResponseObject":
           [{
               "Name": "Suresh",
               "userID": 1
           },
           {
               "Name": "Mahesh",
               "userID": 2
           }]
   };
   $scope.selectedUser = $scope.JSON.ResponseObject[0];

您的HTML

<select data-ng-options="usr.Name for usr in JSON.ResponseObject" data-ng-model="selectedUser"></select>
<h3>You selected: {{selectedUser.Name}}</h3>   

答案 1 :(得分:1)

要显示所选值,您可以执行以下操作

控制器

为ng-model

指定默认值
 $scope.empDesignationMapping = {
     employee1 : "manager",
     employee2 : "HR",
     employee3: "Admin"
 }
$scope.designation_edit = $scope.empDesignationMapping[employee1] // should be dynamic employee

HTML

<select ng-model="designation_edit" ng-selected="designation_edit" >

之后,无论何时选择某些内容,它都会显示为已选中。