首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在选中具有相同id的另一个复选框时禁用复选框

如何在选中具有相同id的另一个复选框时禁用复选框
EN

Stack Overflow用户
提问于 2018-12-06 12:15:19
回答 5查看 1.3K关注 0票数 5

我有一个表,其中一列中有一个复选框。当复选框被选中时,我将行推入数组。

我试图用下面的..real世界来更好地解释这一点

该表可以包含具有重复id的行(行(flat_id)的列不同)。我上面提到的重复id是user_map_id

当我选中(单击复选框)一行时,我希望禁用具有相同user_map_id的其他行。

因此,当检查行时,我将user_map_id存储在一个数组中。然后我这样做:

ng-disabled="selectedUserMapIdArray.indexOf(flat.user_map_id) >= 0

也就是说,如果user_map_id存在于具有选定user_map_id的数组中,我将禁用该行,但这也会禁用我选中的那个,并且如果我想取消选中它,我将无法取消选中它。

因此,我也将flat_id推入数组,并执行了以下操作:

ng-disabled="selectedUserMapIdArray.indexOf(flat.user_map_id) >= 0 && selectedFlatNumArray.indexOf(flat.flat_id) < 0 "

即,如果行的user_map_id存在于selectedUserMapIdArray(存储user_map_id)数组中,而不存在于selectedFlatNumArray(存储flat_id)中,则禁用该行

但是现在,当我检查具有与重复flat_id之一flat_id相同的特定user_map_id的行,然后再次检查该组中的一个时,具有公共flat_id的行不会被禁用,因为我上面检查的flat_id存在于selectedFlatNumArray(存储flat_id)中。

用现实世界的解释

这是一个截图:

表中的行是单位所有者和居住者的列表(两者都有user_map_id)。一个单位业主可以有多个单位(因此表中有重复的user_map_id)。业主可以拥有多个单位(不同的flat_ids)。

但是公寓业主可以有一个居住者(same flat_id different user_map_id)。住客可以住在业主的多个单位中的一个(same flat_id different user_map_id)。

我希望能够检查任何单位的业主(其他人是残疾的),也是一个住户(如果我想)。

如果我检查row与该单位业主的其中一个单位,属于同一单位业主的其他行被禁用,并且工作正常。

但是,当我检查一个占有者的行,然后再次检查该占有者的平面所有者(没有相同的flat_id)时,具有相同flat_id的行不会被禁用,因为flat_id存在于selectedFlatNumArray(存储flat_id)中

我该怎么做呢?

下表:

 <tbody>
    <tr ng-repeat="flat in someObj.flatsArray | filter:searchFlat">
       <td>{{ flat.occupant_name || flat.owner_name}}</td>
       <td>{{flat.flat_no}}</td>
       <td class="text-center">
     <input class="" name="{{flat.flat_no}}" ng-attr-title="{{(selectedUserMapIdArray.indexOf(flat.user_map_id) >= 0 && selectedFlatNumArray.indexOf(flat.flat_id) < 0) ? 'This user has been already invited' : ''}}"
         ng-disabled="selectedUserMapIdArray.indexOf(flat.user_map_id) >= 0 && selectedFlatNumArray.indexOf(flat.flat_id) < 0 "
     type="checkbox" ng-change="checkChanged(flat.isChecked, flat)" ng-model="flat.isChecked" />
              </td>
</tr>
</tbody>
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53644580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档