2015-04-16 54 views
1

我有一個項目列表與他們不同的按鈕。 Plunker單擊按鈕將文本複製到另一個div with angularjs

快速查看:

enter image description here

我想是這樣,如果我點擊任何按鈕,相關的文本將被複制到上面的DIV。此外,如果我再次點擊該按鈕,它將從Div.Same中移除每個按鈕。 [我手動添加一個以顯示它如何顯示]

我不知道如何在Angular中做到這一點。任何幫助將是我的救命。

<div ng-repeat="item in csTagGrp"> 
    <ul> 
     <li ng-repeat="value in item.csTags"> 
     <div class="pull-left"> 
      <button type="button" ng-class='{active: value.active && !value.old}' class="btn btn-default btn-xs">{{value.keys}}</button> 
      <span>=</span> 
     </div> 
     <div class="pull-left cs-tag-item-list"> 
      <span>{{value.tags}}</span> 
     </div> 
     </li> 
    </ul> 
    </div> 

回答

1

最簡單的事情是使用$scope.tags對象存儲選擇的標籤,並添加/用類似上述範圍的方法將其刪除:

$scope.tags = {}; 

$scope.toggleTag = function(tag) { 
    if (!$scope.tags[tag]) { 
     $scope.tags[tag] = true; 
    } 
    else { 
     delete $scope.tags[tag]; 
    } 
}; 

演示:http://plnkr.co/edit/FrifyCrl0yP0T8l8XO4K?p=info

+0

爲什麼你這麼棒? :) 太棒了。另外,這可能有關鍵的行動呢?按鈕中的數字代表鍵盤按鍵。例如:如果我在鍵盤上按「1」,它會像點擊一樣進行。 – Raihan

+0

還特別感謝您給出的補充說明。它幫助我瞭解它是如何工作的 – Raihan

+1

@Raihan這有點棘手。檢查更新的演示,我做了基本的實現(記住在使用鍵盤之前對焦按鈕區域)。 – dfsq

1

您可以使用ng-click將範圍內的選定值,然後顯示此值而不是「贏」。

http://plnkr.co/edit/IzwZFtRBfSiEcHGicc9l?p=preview

<div class="myboard"> 
    <span>{{selected.tags}}</span> 
</div> 
... 
<button type="button" ng-click="select(value)">{{value.keys}}</button> 
+0

這是非常好的,但也可以有多個文本。就像我點擊勝利然後點擊迴應者一樣,兩者都會留在那裏。 [贏,被訪者...] 此外,如果我再次點擊相關按鈕,文字將隱藏。謝謝 – Raihan

+1

哦,我滑過那部分。這裏是一個固定的plunkr,其中'ng-click'設置/取消設置'selected'屬性:http://plnkr.co/edit/x1rE6ss0GHTLT8vj4sUZ?p=preview – floribon

相關問題