javascript - 选中复选框时显示一条消息,取消选中复选框时显示另一条消息

标签 javascript angularjs checkbox

我对 Javascript/AngularJS 相当陌生,想用它来学习/理解这些语言。在 Angular 网站上有一些基本的待办事项列表脚本,我想稍微更改一下。我把它变成了我需要学习的事情 list 。当我选中该复选框时,我收到一条消息,例如“干得好!”。但是当我取消选中它时,会弹出相同的消息,我想更改为“你确定吗?”之类的内容。

我花了几个小时寻找答案,但找不到答案,所以我希望有人能帮助我弄清楚如何做到这一点。这是我的代码:

HTML:

      <div ng-controller="TodoListController as todoList">
        <span>Nog {{todoList.remaining()}} van de {{todoList.todos.length}} te gaan!</span>
        <!--[ <a href="" ng-click="todoList.archive()">archive</a> ]-->
        <ul class="unstyled">
          <li ng-repeat="todo in todoList.todos">
            <label class="checkbox">
              <input type="checkbox" onclick="alert('Well done!')" ng-model="todo.done">
              <span class="done-{{todo.done}}">{{todo.text}}</span>
            </label>
          </li>
        </ul>
      </div> <!--einde ng-controller -->

AngularJS 代码:

todoList.remaining = function() {
  var count = 0;
  angular.forEach(todoList.todos, function(todo) {
    count += todo.done ? 0 : 1;
  });
  return count;
};

todoList.archive = function() {
  var oldTodos = todoList.todos;
  todoList.todos = [];
  angular.forEach(oldTodos, function(todo) {
    if (!todo.done) todoList.todos.push(todo);
  });
};

如果有遗漏的地方,请告诉我! 提前致谢!

最佳答案

这是为您更新的代码:

<div ng-controller="TodoListController as todoList">
        <span>Nog {{todoList.remaining()}} van de {{todoList.todos.length}} te gaan!</span>
        <!--[ <a href="" ng-click="todoList.archive()">archive</a> ]-->
        <ul class="unstyled">
          <li ng-repeat="todo in todoList.todos">
            <label class="checkbox">
              <input type="checkbox" onclick="showAlert(todo.done)" ng-model="todo.done">
              <span class="done-{{todo.done}}">{{todo.text}}</span>
            </label>
          </li>
        </ul>
      </div> <!--einde ng-controller -->

AngularJs 代码:

todoList.remaining = function() {
  var count = 0;
  angular.forEach(todoList.todos, function(todo) {
    count += todo.done ? 0 : 1;
  });
  return count;
};

  $scope.showAlert = function(isSuccess){
               if(isSuccess)
                  alert('Well done!')
               else
                 alert('Unchecked')
                };
todoList.archive = function() {
  var oldTodos = todoList.todos;
  todoList.todos = [];
  angular.forEach(oldTodos, function(todo) {
    if (!todo.done) todoList.todos.push(todo);
  });
};

关于javascript - 选中复选框时显示一条消息,取消选中复选框时显示另一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44452236/

相关文章:

javascript - 用vue $refs获取不到id的值?

javascript - 从实例对象调用异步方法会出现错误 : TypeError: Object(. ..) 不是函数

angularjs - 在导航到其他 View 之前警告用户

php - 如何在勾选一个复选框后禁用另一个复选框?(续订)

javascript - 如何查找发生语法错误的原因以及如何实现全局化格式

javascript - 在 Javascript 中使用 Django 变量与 Google API 一起使用

javascript - 这是在 Angular 上破坏模板缓存的好方法吗?

angularjs - 在 Rails 中向 simple_form 添加 Angular 指令会破坏集合输入的选定选项

javascript - 无法第二次检查所有表行

javascript - 如何在页面刷新后保存复选框状态?