2017-05-22 2 views
-2

한 번에 하나씩 선택할 수있는 항목과 0 개 항목 만 선택할 수있는 간단한 목록 상자를 만들려고합니다.각도 선택, 선택 해제 지우기

나는

어떻게/VB C#으로 같은 목록 상자를 가지고 달성 할 수 ... 많은 것은하지만 난 내 선택에 선택 흰색 선을 얻을 때마다 시도? 내가 선택한 값을 지우고 내 선택에서 선택된 라인을 볼 수 없다는 것을 알았습니다!

내 선택 코드

<select 
    size="5" 
    style="width: 100px" 
    ng-model="vm.current.selection" 
    ng-options="role as role.Name for role in vm.roles"> 
</select> 

편집 :

그것은 질문을 이해하지 못하는 이명을 볼 수있는 재미 그것은 불가능하고 난 내 실제 문제에 대한 해결책을 얻을 때, 그들이 말했다 - 1 ....

+0

; 여기에 귀하의 질문이 무엇인지 분명하지 않습니다. HTML 선택 상자는 기본적으로 단일 항목 만 선택할 수 있습니다. – Claies

+0

HTML/각도에서는 작동하지 않는 C# 목록 상자 – Vince

+1

처럼 선택한 항목이 0 개가 되길 원합니다. 아이템을 선택하면,'vm.current.selection'는'null'에서 값으로 갈 것입니다; "선택 취소"를 시뮬레이션하려면 값을 다시 'null'로 변경해야합니다. 당신은 * "*"옵션을 추가 할 수 있지만, 다른 옵션의 선택을 해제 할 때 자동으로 선택되지는 않을 것이고,''vm.current.selection 설정과 똑같은 일을하지는 않을 것입니다 'null '.... – Claies

답변

0

좋아, 여기에 한 번에 하나의 항목 만 선택하거나 0 개의 항목 만 선택하여 C#과 같은 간단한 목록 상자를 만들려는 사람에게 적합한 솔루션입니다.

이런 식으로하지 않는 것이 좋지만 작동하는 방식입니다. 그래서 여기

달성하기 위해 내 코드입니다 :

이 표준 HTML 선택 상자로 나타납니다
vm.current = { 
    selection: [] 
}; 

$scope.$watchCollection(
    function (scope) { 
     return (vm.current.selection); 
    }, 
    function (newValue, oldValue) { 
     if (newValue.length == 2) { 
      var index = findRoleIndexWithId(vm.current.selection, oldValue[0].Id); 
      vm.current.selection.splice(index, 1); 
     } 
    } 
); 
관련 문제