Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度复选框事件_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 角度复选框事件

Javascript 角度复选框事件,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我试图在用户选中其中一个复选框时触发控制台日志。然而,我根本没有得到任何事件触发 除了“单击”复选框外,一切正常。有什么提示吗 (顺便说一下,这个脚本是Django和Angular JS) angular.module('todoApp',[]) .controller('TodoListController',function(){ var todoList=这一点; todoList.todos=[ {%用于明天的任务\u任务%} {task|u id:{{task.id{safe}},文

我试图在用户选中其中一个复选框时触发控制台日志。然而,我根本没有得到任何事件触发

除了“单击”复选框外,一切正常。有什么提示吗

(顺便说一下,这个脚本是Django和Angular JS)


angular.module('todoApp',[])
.controller('TodoListController',function(){
var todoList=这一点;
todoList.todos=[
{%用于明天的任务\u任务%}
{task|u id:{{task.id{safe}},文本:{{task.description}safe},分配给:{{task.assigned|u to.username},截止日期:{{task.due|date{safe},完成:{task.complete}yesno:{true,false},
{%endfor%}];
todoList.remaining=函数(){
var计数=0;
angular.forEach(todoList.todos,function(todo){
计数+=todo.done?0:1;
});
返回计数;
};
todoList.update_done=函数(){
console.log('sfdsf');
};
});
ul{列表样式类型:无}
.真的{
文字装饰:线条贯通;
颜色:灰色;
}
{%verbatim%}
剩余{{todoList.todos.length}}的{{todoList.length()}}
  • {{todo.text}
{%endverbatim%}
应该与此类似

<input type="checkbox" ng-model="todo.done" ng-change="todoList.update_done(todo)">

 todoList.update_done = function(todo){
  angular.forEach(todoList.todos,function(index,todo1){
    if(todo == todo1)
       todoList.todos[index].done = !todoList.todos[index].done;
  })
}

todoList.update_done=函数(todo){
angular.forEach(todoList.todos,函数(索引,todo1){
如果(todo==todo1)
todoList.todos[index]。完成=!todoList.todos[index]。完成;
})
}

我认为,您的代码中有一个bug。是:

<input type="checkbox" ng-model="todo.done" ng-change="update_done()">

但应该是:

<input type="checkbox" ng-model="todo.done" ng-change="todoList.update_done()">


检查此示例

可能会对您有所帮助,因为我没有在其他任何地方使用scope。我可以这样做吗?
<input type="checkbox" ng-model="todo.done" ng-change="todoList.update_done()">