2017-06-05 4 views
-1

私は静的なリスト要素を持っているシナリオを持っています。ここでは、ng-classを使ってアクティブなクラスを追加する必要があります。リスト要素をクリックすると、アクティブなクラスが追加されます。ここでリスト要素に対してng-classを使用してアクティブなクラスを適用する方法(mutli-select)?

が私のコードです:

vm.idArry = []; 
vm.selectedFunc = function (item) { 
    item.selected = !item.selected; 
    if(vm.idArry.indexOf(item) == -1){ 
     vm.idArry.push(item); 

    } 
    else { 
     var index = vm.idArry.indexOf(item); 
     vm.idArry.splice(index, 1); 
    } 
    } 

HTML:上記のコードのための

<ul> 
      <li id="one"><a ng-class="{'active':item.selected}" ng-click="selectedrFunc(1)" ></a></li> 
      <li id="two"><a ng-class="{'active':item.selected}" ng-click="selectedFunc(2)" ></a></li> 
      <li id="three"><a ng-class="{'active':item.selected}" ng-click="selectedFunc(3)"></a></li> 
      <li id="four"><a ng-class="{'active':item.selected}" ng-click="selectedFunc(4)" ></a></li> 
      <li id="five"><a ng-class="{'active':item.selected}" ng-click="selectedFunc(5)"></a></li> 
      <li id="six"><a ng-class="{'active':item.selected}" ng-click="selectedFunc(6)" ></a></li> 

、私はリスト要素(すなわち上でクリックしたときにアクティブなクラスを追加取得する必要があります。複数のリスト要素をクリックしたときに複数のリストをアクティブクラスに追加する必要があります)。

ありがとうございます。 ご協力いただければ幸いです。

答えて

0

item.selected及び使用後のコードの使用を削除:

<li id="one"><a ng-class="{'active': vm.idArry.indexOf(1) != -1}" ng-click="selectedFunc(1)" >A</a></li> 

項目存在のために、このチェックをvm.idArrayに、またvm.selectedFunc

item.selectedを削除するだからあなたvm.selectedFuncは次のようになります。

vm.selectedFunc = function (item) { 
    if(vm.idArry.indexOf(item) == -1){ 
     vm.idArry.push(item); 

    } 
    else { 
     var index = vm.idArry.indexOf(item); 
     vm.idArry.splice(index, 1); 
    } 
    } 
関連する問題