angular.js - angular ng-repeat改變某個的背景顏色
为情所困
为情所困 2017-05-15 16:58:27
0
4
783


如圖所示,上面的5個塊,用ng-repeat循環輸出,怎樣實現當點擊某一塊(如塊2)時,該塊的背景顏色變為紅色?其他的塊的顏色不變。
謝謝指點。

为情所困
为情所困

全部回覆(4)
大家讲道理

方法太多,ng-click,ng-class,directive實作都可以啊
這是直接寫的方法,僅供參考
html:

<p>
    <span ng-class="{'selected':selected==s}" ng-repeat="s in list" ng-bind="s" ng-click="changeStatus(s)"></span>
</p>

js

$scope.list = [1,2,3,4,5];
$scope.changeStatus = function(index){
    $scope.selected = index;
}
黄舟

新增點擊事件。把目前循環的$index和$event傳過去。然後自己透過angular jq來就處理就OK啊。

phpcn_u1582

給你一個現成的程式碼:
HTML

<p class='options'>
    <span class='option' ng-class="{'selected':s._selected}" ng-repeat="s in orderStatus" ng-bind="s.l" ng-click="clickStatus(s)"></span>
</p>

JS

$scope.clickStatus = function(prop) {
    prop._selected = !prop._selected;
};

CSS

.option{display:inline-block;border:1px solid green;padding:.25em;margin:.5em .5em 0 0;}
.option.selected{background:green;color:white;}

我正打算寫個directive做這個

世界只因有你

http://runjs.cn/detail/yfnwk6ho

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!