2016-09-09 3 views
1

값이 제대로 표시되지 않는 각도로 드롭 다운 된 다중 선택이 있습니다. 입력 바인딩 상자는 내 $item 표현을 평가하지 않고 일반 상자를 형성합니다. 같은 뭔가 :AngularUI - 여러 값이 올바르게 표시되지 않습니다.

No Expression Evaluation

HTML :

<ui-select 
    multiple 
    ng-model ="allPlatforms.selected" > 
    <ui-select-match placeholder="Start Typing...">{{$item.allPlatforms}}</ui-select-match> 
    <ui-select-choices repeat="item in (allPlatforms | filter: $select.search) track by item"> 
     {{item.allPlatforms}} 
    </ui-select-choices> 
    <ui-select-no-choice> 
     Dang! Sorry bro. Couldn't find 
    </ui-select-no-choice> 
</ui-select> 

나는이 개 JSON 파일이 생성되고 서버에서 호출되는했다. 나는 여러 속성을 제거하고 $ 변화를 선택해야하는 경우, 그것은 잘 작동

$scope.name={}; 
$scope.allPlatforms=[]; 

$http.get('server.com/'+$scope.num).then(function(response){ 
     $scope.name = response.data; 
     $scope.allPlatforms.selected = [$scope.allPlatforms[0]]; 
//I will want to do [$scope.allPlatforms[$scope.name.platform_name]] but I've ignored that for now; 
}); 
$http.get('server.com/pftypes').then(function(response){ 
     $scope.allPlatforms = response.data.allpftypes; 
    }); 

{"allpftypes":["pf1", "pf2"...]}

컨트롤러 JS처럼

PFtypes JSON 파일을 찾습니다. 나는 어떤 끔찍한 실수를 저 지르는지 모르겠습니다. 각도와 학습에 새로운 것이 있습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

나는 이미 allplatforms 배열 안에 있었고 거기에 요점을 완전히 놓치고 있다는 것을 알게되었습니다. $item.allplatforms 대신 $item이어야합니다.

<ui-select 
    multiple 
    ng-model ="allPlatforms.selected" > 
    <ui-select-match placeholder="Start Typing...">{{$item}}</ui-select-match> 
    <ui-select-choices repeat="item in (allPlatforms | filter: $select.search) track by item"> 
    {{item}} 

    //or 
    //<div ng-bind-html="item | highlight: $select.search"></div> 

    </ui-select-choices> 
    <ui-select-no-choice> 
     Dang! Sorry bro. Couldn't find 
    </ui-select-no-choice> 
</ui-select> 

사람이 비슷한 UI - 선택 - 여러 문제로 실행 단지의 경우, 대답으로이 떠난다. 평화! 이 질문에 대한 대답은 더욱 명확하게하기 위해 답변으로 자신의 게시물을 표시 주시기 때문에

더 이상의 변경 :

+0

환영합니다. – JHixson

+0

나는 그 일을 할 것이라고 생각했지만 확신하지 못했습니다. 어쨌든 컨트롤러 JS에서 주석 처리 된 부분에 대답 할 수 있습니까? 'selected' 배열 값이'$ scope.name.platform_name'과 동일해야하기 때문에 어떻게 실행하는지 모르겠습니다. 그것은 내 질문에 대한 더 광범위하고 적절한 답이 될 것입니다. @JHixson –