gpt4 book ai didi

javascript - 如何在 Angular 上显示和隐藏表格行?

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:19 25 4
gpt4 key购买 nike

基本上,我有一个 html 表,它显示了我的数据库 (parse.com db) 中某个类的一些属性,我表的每一行都是可点击的并触发一个函数,我正在尝试做的是基于根据我的数据库 (Access) 中一列的值,对它们应用一个类并使它们不可点击。

这是我的标记:

      <th><center>Local</center></th>
<th><center>Número </center></th>
<th><center>Tipo</center></th>

</tr>


<tr ng-repeat="field in fields track by $index" >

<td ng-hide="hide_field_not_available" title="'Cancha'" class="off" ><i class="fa fa-futbol-o" aria-hidden="true"></i>
{{field.company}}</td>
<td ng-hide="hide_field_not_available" title="'Número'" class="off" >
<center>{{field.name}}</center></td>
<td ng-hide="hide_field_not_available" title="'Tipo'" class="off" >
<center>{{field.type}}</center></td>


<td ng-hide="hide_field_available" ng-click="makeAReservation(field)" title="'Cancha'" ><i class="fa fa-futbol-o" aria-hidden="true"></i>
{{field.company}}</td>
<td ng-hide="hide_field_available" ng-click="makeAReservation(field)" title="'Número'" >
<center>{{field.name}}</center></td>
<td ng-hide="hide_field_available" ng-click="makeAReservation(field)" title="'Tipo'" >
<center>{{field.type}}</center></td>


</tr>
</table>

这是我的 JS:

  if (venue.get('Access') === 'TuCancha') {
console.log(venue.get('Name') + ' HAS ACCESS');
$scope.hide_field_available = false;
$scope.hide_field_not_available = true;
}
else{
console.log(venue.get('Name') + ' DOES NOT HAVE ACCESS');
$scope.hide_field_not_available = false;
$scope.hide_field_available = true;
}

所以想法是,当 Access 等于“TuCancha”时,该行应该是可点击的并且没有任何其他类,如果 Access 是其他东西,该行不应该是可点击的并且应该添加 de class 'off'

我现在拥有的,根本没有做任何事情。感谢一百万的阅读。

最佳答案

我举了一个例子,当它不满足可点击的条件时,我使用 ng-class 来应用或不应用 css 类 off

然后我在该行的 ng-click 回调函数中重用了相同的验证。您必须再次重新验证条件,因为行点击仍会被触发,因为它没有被禁用。 css 类 off 仅通过显示指针光标和改变背景颜色来模拟行上的可点击行为。

function DemoController($scope) {

$scope.items = [
{ access: 'TuChanca' },
{ access: 'SomethingElse' },
];

$scope.isRowDisabled = function(item) {
// Return true to apply 'off' class
return !validateItem(item);
};

$scope.onRowClick = function(item) {
if (validateItem(item)) {
alert('Row has been click');
}
};

function validateItem(item) {
// Return true if item is clickable
return item.access === 'TuChanca';
}
}
.row {
border: 1px solid #cccccc;
background: #fafafa;
color: rgba(0,0,0,0.87);
padding: 10px;
}

.row:not(.off):hover {
cursor: pointer;
background: rgba(0,0,0,0.07);
}

.row.off {
color: rgba(0,0,0,0.5);
cursor: not-allowed;
}
<html ng-app>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-controller='DemoController'>

<div class="row"
ng-repeat="item in items"
ng-class="{ 'off': isRowDisabled(item) }"
ng-click="onRowClick(item)">
{{ item.access }}
</div>

</body>
</html>

关于javascript - 如何在 Angular 上显示和隐藏表格行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com