Javascript AngularJS ng repeat获取单击并在jquery中使用的按钮的索引
我这里有一些代码,我想做的是当我点击按钮时,我改变复选框的值,同时改变按钮的颜色。 (例如,选中=红色,取消选中=黑色) 我认为使用jquery更容易做到这一点。我的想法是获取被点击按钮的索引。更改具有相同索引和按钮颜色的复选框的值 但我就是不知道如何选择按钮和复选框Javascript AngularJS ng repeat获取单击并在jquery中使用的按钮的索引,javascript,jquery,angularjs,checkbox,angularjs-ng-repeat,Javascript,Jquery,Angularjs,Checkbox,Angularjs Ng Repeat,我这里有一些代码,我想做的是当我点击按钮时,我改变复选框的值,同时改变按钮的颜色。 (例如,选中=红色,取消选中=黑色) 我认为使用jquery更容易做到这一点。我的想法是获取被点击按钮的索引。更改具有相同索引和按钮颜色的复选框的值 但我就是不知道如何选择按钮和复选框 <div id="allcolrepeat"> <div style="width:200px; float:left; margin:5px;" ng-repeat="col in allCol
<div id="allcolrepeat">
<div style="width:200px; float:left; margin:5px;" ng-repeat="col in allColumns">
<input class="colCheckbox" type="checkbox" ng-change="changeCheck(col.displayName)" ng-model="checkvalue[col.displayName]">
<button>{{col.displayName}}</button>
</div>
</div>
{{col.displayName}}
任何帮助都将不胜感激。谢谢 您可以使用指令
ngClass指令允许您通过数据绑定表示要添加的所有类的表达式,在HTML元素上动态设置CSS类
代码
注意:声明
红色
和黑色
css类如果我理解得很好,这里有一个简单的
您可以通过多种方式来实现,您可以使用ngClass
或ngStyle
(示例中的第二个)来更改CSS样式,然后您只需将范围变量分配给ng model
即可更改复选框值
HTML:
这里我使用
ng style
更改按钮颜色:
ng-style="{background : status[$index] ? 'red' : 'blue'}"
但您也可以使用:
ng-class="status[$index] === true ? 'red' : 'blue'"
函数主($scope){
$scope.allColumns=[{displayName:“1”},{displayName:“2”},{displayName:“3”},{displayName:“4”},{displayName:“5”},{displayName:“6”},{displayName:“7”}]
}
{{col.displayName}}
好啊
正如在其他答案中提到的,最好使用ng样式或ng类进行样式设置
但问题已经提出,来自谷歌搜索的人们将来看看如何使用jQuery获取索引。。。所以在ng repeat中,可以使用“$index”()变量,这样就可以将其用作数据属性或任何您想要的内容。在你的特殊情况下,你可以
{{item}}
不要使用Angular和jquery。宝云晨,很高兴我能帮上忙
<div ng-app="myApp" ng-controller="myCtrl">
<div id="allcolrepeat">
<div style="width:200px; float:left; margin:5px;" ng-repeat="col in allColumns">
<input class="colCheckbox" type="checkbox" ng-model="col.displayName">
<button ng-style="{'background-color': color}" ng-click="col.displayName = 'CHANGED'; color = 'red'">{{col.displayName}}</button>
</div>
</div>
</div>
angular.module('myApp', [])
.controller('myCtrl', ['$scope', '$filter', function ($scope, $filter) {
$scope.allColumns = [{displayName: 'hello'}, {displayName: 'world'}];
$scope.color = 'transparent';
}]);
ng-style="{background : status[$index] ? 'red' : 'blue'}"
ng-class="status[$index] === true ? 'red' : 'blue'"