2016-06-02 1 views
0

Я пытаюсь заполнить кнопку, выпадающую вниз в angularjs. Я получаю следующее сообщение об ошибке. "Unexpected end of expression: data.WotcSummary "| Что я делаю неправильно.ошибка при заполнении выпадающего списка из объекта json

расслоение плотной файла:

WotcDashBoardModule.controller('WotcDashBoardController', ['$scope', 'WotcDashBoardModuleService', function ($scope, WotcDashBoardModuleService) { 

    var Ein = '95-000000'; 
    WotcDashBoardModuleService.GetDashBoardSummary(Ein).then(function (response) { 
     $scope.Summary = response.data.WotcSummary; 
     //console.log($scope.Summary.Locations); 
    }); 

}]); 

МЕСТОПОЛОЖЕНИЕ массив с двумя элементами

[Object, Object, Object] 
0:Object 
corporateId:1600 
location:"California" 
__proto__:Object 
1:Object 
corporateId:1600 
location:"Atlanta" 
__proto__:Object 
2:Object 
corporateId:1600 

место: "Бостон"

HTML:

<div class="btn-group btn-toolbar btn-margin-left" style="float: right;" > 
        <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
         ALL LOCATIONS 
         <span class="caret"></span> 
        </button> 
        <div class="dropdown-menu"> 
         <select name="ListLocations" class="form-control input-md"                
           ng-model="Locations" 
           ng-options="Locations.location for Locations in data.WotcSummary | track by Locations.location"> 
          <option value=""> </option> 
         </select>       
        </div> 
       </div> 

Класс бизнес-объекта то есть вернулся к зрению:

public class CompanyWotcBO 
    { 
     public int Id { get; set; } 
     public int IdUser { get; set; } 
     public int IdCandidate { get; set; } 
     public int DocsSubmitted { get; set; } 
     public int DocsRecieved { get; set; }  
     public string CompanyId { get; set; } 
     public string EIN { get; set; } 
     public string Error { get; set; } 

     public List<Location> Locations { get; set; }  

     public CompanyWotcBO() 
      { 
      Locations = new List<Location>(); 
      } 

    } 

    public class Location 
    { 
     public int corporateId { get; set; } 
     public string location { get; set; } 
    } 

Вот полный объект JSON, который получает возвращается ::

Object {Id: 0, IdUser: 0, IdCandidate: 0, NewEmployees: 458, WotcScreened: 458…} 
CompanyId:null 
DocsRecieved:0 
DocsSubmitted:0 
EIN:null 
Error:null 
Id:0 
IdCandidate:0 
IdUser:0 
Locations:Array[3] 
0:Object 
corporateId:1600 
location:"95-3874566" 
__proto__:Object 
1:Object 
corporateId:1600 
location:"Atlanta" 
__proto__:Object 
2:Object 
corporateId:1600 
location:"Boston" 
__proto__:Object 
3:Object 
corporateId:1600 
location:"Chicago" 
__proto__:Object 
+0

Можете ли вы разместить объект здесь, пожалуйста? –

+0

отправил объект. это тот, которого вы ожидали. – BumbleBee

+0

ng-model = "Locations", это объект, id или строка? можете ли вы также поделиться своей ценностью? –

ответ

2

Вам не нужно '|' в течение нг-опции

<select name="ListLocations" class="form-control input-md"                
           ng-model="Locations" 
           ng-options="Locations.location for Locations in data.WotcSummary track by Locations.location"> 
         <option value=""> </option> 
+0

спасибо u. Я не вижу эрозию, но выпадающее меню не заполняется. – BumbleBee

+0

опубликуйте свои данные в вопросе – Sajeetharan

+0

обновленный вопрос с данными. – BumbleBee

1

Изменить Вам HTML до:

<select name="ListLocations" class="form-control input-md"                
           ng-model="Locations" 
           ng-options="Locations as Locations.location for Locations in data.WotcSummary track by Locations.location"> 
         <option value=""> </option> 

Это должно работать

+0

Я получаю следующую ошибку: Ожидаемое выражение в форме '_select_ (as _label_)? для (_key _,)? _ value_ в _collection_ ', но получил «Locations as Locations.location». Элемент: {1} – BumbleBee

+0

Возможно, это связано с тем, что значение ng-model и имя переменной ng-options одинаковы. попробуйте сделать это ng-options = "Местоположение как Location.location для местоположения в data.WotcSummary track по Location.location"> –

+0

, что не помогло .. .. – BumbleBee

Смежные вопросы