将 JSon 响应移动到下拉列表中

Moving JSon Response into Dropdown

我有一个 Json 回复如下

JSON :

   {
"json": {
    "response": {
      "servicetype": "1",
      "functiontype": "10011",
      "statuscode": "0",
      "statusmessage": "Success",
      "data": {
        "assignedroles": [
          {
            "roleid": 162,
            "rolename": "Admin",
            "roleinformation": {
              "A": [
                {
                  "1st floor": 10
                }
              ]
            }
          },
          {
            "roleid": 163,
            "rolename": "Resident",
            "roleinformation": {
              "A": [
                {
                  "1st floor": 10
                }
              ]
            }
          }
        ],
        "unassignedroles": [
          {
            "roleid": 36,
            "rolename": "Product Managers",
            "divisionlabel": "Department ",
            "subdivisionlabel": "Category",
            "roleinformation": {
              "QA": [
                {
                  "White Box Testing": 0
                }
              ]
            }
          },

          {
            "roleid": 108,
            "rolename": "Teacher",
            "divisionlabel": "Class",
            "subdivisionlabel": "Div",
            "roleinformation": ""
          },
          {
            "roleid": 115,
            "rolename": "Staff",
            "divisionlabel": "Class",
            "subdivisionlabel": "Section",
            "roleinformation": {
              "1": [
                {
                  "A": 0
                }
              ]
            }
          },
          {
            "roleid": 116,
            "rolename": "Student",
            "divisionlabel": "Class",
            "subdivisionlabel": "Section",
            "roleinformation": {
              "1": [
                {
                  "A": 0
                }
              ]
            }
          },
          {
            "roleid": 184,
            "rolename": "CANt_MANAGE_Gbase",
            "divisionlabel": "Division",
            "subdivisionlabel": "SubDivision",
            "roleinformation": {
              "Div": [
                {
                  "Sdiv": 0
                },
                {
                  "Sdiv1": 0
                }
              ]
            }
          },
          {
            "roleid": 191,
            "rolename": "Legend",
            "divisionlabel": "a",
            "subdivisionlabel": "b"
          }
        ]
      }
    }
  }
}

需要从 json 响应中获取已分配和未分配值的角色名称。我可以进入两个数组,但无法同时移动两个数组。

HTML:

<div class="form-group">
  <label class="control-label col-sm-10" for="groupz">Select Role*</label>
  <select class="form-control" name="role"
          ng-model="model.rolename"
          ng-change="GetAssignRole(model.rolename)">
    <option selected>Select Roles</option>
    <option ng-repeat="item in model.roles track by $index"
            value="{{item}}">{{item}}</option>
  </select>
  <div>

JS:

   UserService.getAssignRoles(json).then(function(response) {
     if (response.json.response.statuscode == 0 && response.json.response.statusmessage == 'Success')
{
     $scope.model.assignroles = [];
             var resdata =response.json.response.data;

    var unasresdata = response.json.response.data.unassignedroles;
    var assresdata = response.json.response.data.assignedtoles;

    $scope.model.assignroles.push(unasresdata);
    $scope.model.assignroles.push(assresdata);


              }

   });
        };

我不知道如何将这两个数据移到下拉列表中。如果 assigned 或 unassigned 中的内容为空,它会在 response.But 中给出 undefined 我能够在 assignRoles 中获得两个数组。

合并 unassignedroles[] 和 assignedroles[] 使单个 array.Just 尝试下面 code.It 可能对你有帮助。

UserService.getAssignRoles(json).then(function(response) {
     if (response.json.response.statuscode == 0 && response.json.response.statusmessage == 'Success')
    {
        $scope.model.assignroles = [],assignrolesArray = [];

        var unasresdata = response.json.response.data.unassignedroles;
        var assresdata = response.json.response.data.assignedtoles;

        assignrolesArray = unasresdata.concat(assresdata);

        $scope.model.assignroles = assignrolesArray;


    }

   });

HTML

<div class="form-group">
  <label class="control-label col-sm-10" for="groupz">Select Role*</label>
  <select class="form-control" name="role"
          ng-model="model.rolename"
          ng-change="GetAssignRole(model.rolename)">
    <option selected>Select Roles</option>
    <option ng-repeat="role in model.assignroles track by $index"
            value="{{role.rolename}}">{{role.rolename}}</option>
  </select>
  <div>