2017-02-23 201 views
0

я пытаюсь показать данные в формате JSON как вариант OPTGROUP с множественным выбором в angularjs, но не получить успехаКак показывают данные JSON, как OPTGROUP с множественным выберите в Select Option в angularjs

В Html это показано как:

<select ng-model="industrycatslect" ng-change="industryslected(industrycatslect)" multiple ng-options="skilldata.value as skilldata.value group by skilldata.group for skilldata in skillCategory track by skilldata.id"> 
    <option value="">Select Location</option> 
</select> 

JSON показано, как:

"skillCategory": [ 
     { 
      "id": "8", 
      "group": "Technology", 
      "value": " Software Engineering" 
     }, 
     { 
      "id": "17", 
      "group": "Technology", 
      "value": "Collaboration and Content Management" 
     }, 
     { 
      "id": "22", 
      "group": "Functions", 
      "value": "Procurement" 
     }, 
     { 
      "id": "23", 
      "group": "Functions", 
      "value": "Product" 
     } 
    ], 

Пожалуйста, помогите мне, я думаю, что я сделал какую-то ошибку в "нг-вариантов".

+1

Похоже, вы не отправили полный код HTML и контроллера. Работая для меня как шарм: https://plnkr.co/edit/AzanFFHxqgXm4f2X40X8?p=preview –

ответ

1

не так много изменений, за исключением удаления track by части

angular.module('test', []).controller('Test', Test); 
 

 
function Test($scope) { 
 
    $scope.skillCategory = [ 
 
     { 
 
      "id": "8", 
 
      "group": "Technology", 
 
      "value": " Software Engineering" 
 
     }, 
 
     { 
 
      "id": "17", 
 
      "group": "Technology", 
 
      "value": "Collaboration and Content Management" 
 
     }, 
 
     { 
 
      "id": "22", 
 
      "group": "Functions", 
 
      "value": "Procurement" 
 
     }, 
 
     { 
 
      "id": "23", 
 
      "group": "Functions", 
 
      "value": "Product" 
 
     } 
 
    ] 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 

 
<div ng-app='test' ng-controller='Test'> 
 
    <select ng-model="industrycatslect" multiple ng-options="skilldata.value as skilldata.value group by skilldata.group for skilldata in skillCategory"> 
 
    <option value="">Select Location</option> 
 
    </select> 
 
    
 
    <br> 
 
    {{industrycatslect}} 
 
</div>

+0

Спасибо за ответ. Но у меня возникла новая проблема: я не могу получить выбранный идентификатор данных. Пожалуйста, помогите – Neotrixs

+1

@Neotrixs Вы можете изменить на 'ng-options =" ​​skilldata.id как ... ', чтобы заполнить массив результатов с идентификатором или использовать' ng-options = "skilldata as ...' для заполнения массива результатов со всей информацией из источника данных. – Icycool

+0

Спасибо, Ты действительно спаси мой день. – Neotrixs

1

Я думаю, что это может помочь вам. Произошла ошибка в том, как вы определяете свои данные JSON skillCategory. Я надеюсь, что этот JSFiddle поможет. Это не рассортированные по ID, но она отображает элементы, предназначенные:

Answer 1