2017-05-22 10 views
-2

一度に選択できる項目は1つだけで、0項目を選択することができる単純なリストボックスを作成しようとしています。AngularJS Select、選択した値をクリアする

私は多くの事を試してみましたが、私は私の選択で選択した白線を取得するたびに...

は、どのように私はC#/ VBのようにリストボックスを持って達成することができますか?選択した値をクリアして、選択した行が選択されていないことを確認できます。

マイセレクトコード

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

EDIT:

それは質問を理解していない2人を見るのは楽しいですし、それは不可能だと私は私の実際の問題への解決策を得るとき、彼らは言いました - 1 ....

+0

、これは標準的なHTML選択ボックスのように見えます。あなたの質問がここにあるのは本当にはっきりしていません。 HTML選択ボックスでは、デフォルトで1つの項目しか選択できません。 – Claies

+0

HTML /角では機能しないC#リストボックス – Vince

+1

のように、選択項目が0になります。アイテムを選択すると、 'vm.current.selection'が' null'から値に移ります。 「選択解除」をシミュレートするには、値を「null」に戻す必要があります。あなたは '' ''というオプションを追加することができるかもしれませんが、別のオプションの選択を解除すると自動的に選択されず、 '' vm.current.selectionの設定と同じことをしません'に'ヌル '.... – Claies

答えて

0

[OK]ここでは、一度に選択された1つのアイテムまたは選択された0アイテムだけで、C#のような単純なリストボックスを作成したいと思う方には、

このようにするのは美しいことではありませんが、それは私がそれがうまく動作する方法です!だからここ

は達成するために私のコードです:

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); 
     } 
    } 
); 
関連する問題