首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单击时添加Checkmark,删除所有其他

在单击时添加Checkmark,删除所有其他
EN

Stack Overflow用户
提问于 2016-03-29 04:08:28
回答 1查看 245关注 0票数 0

我有个纳克重复按钮看起来像这样:

代码语言:javascript
复制
<div data-ng-repeat="department in departments_array">
    <div class="row">
        <div class="col-md-6 dslc-button-wrapper">
            <button class="btn btn-default btn-block">Show on Map {{ 1 | checkmark }}</button>
        </div>
    </div>
</div>

我找到了这个筛选器,当单击所选的元素时,我希望使用它来显示复选框,并同时从其他ng-重复按钮中删除所有其他复选标记:

代码语言:javascript
复制
angular.module('Filters', []).filter('checkmark', function() {
  return function(input) {
    return input ? '\u2713' : '';
  };
});

我已经尝试了很多种方法,但最终我只能在一次添加或删除一个元素上的复选标记。

任何帮助都将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 04:30:49

就我个人而言,我不会用过滤器来做这个。在你看来,这不是管理状态的正确方式。控制器上的变量是典型的、可读的解决方案。下面使用柱塞的解决方案

controller.js

代码语言:javascript
复制
myApp.controller('myController', function() {
  var self = this;
  self.departments_array = ['dept A', 'dept B', 'dept C'];
  self.selected_dept = undefined;
});

index.html

代码语言:javascript
复制
  <body ng-app="my-app">
    <div ng-controller="myController as mc">
      <div data-ng-repeat="department in mc.departments_array">
          <div class="row">
              <div class="col-md-6 dslc-button-wrapper">
                  <button ng-click="mc.selected=department" class="btn btn-default btn-block">
                    Show on Map <span ng-show="mc.selected===department">&#10003;</span></button>
              </div>
          </div>
      </div>
    </div>
  </body>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36275252

复制
相关文章

相似问题

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