2013-07-03 2 views
0

그것은이 모든 블록에 관하여 NG 클릭 :NG-모델과 함께 작동하지 않습니다

<div class="panel done-{{ todo.done }}" ng-repeat="todo in todos()" ng-click="changeStatus(todo)"> 
    <input type="checkbox" ng-model="todo.done"> {{ todo.title }} 
</div> 

를 외부 NG가 클릭 제거 확인란 단지 NG 클릭이 작동 그렇게하지, 잘 작동합니다. Ng-click은 체크 박스가 상태를 변경하지 않는 동안 체크 박스의 값을 변경합니다.

$scope.changeStatus = function(todo) { 
    todo.done = ! todo.done; 
}; 

답변

0

이제 작동했습니다. 다소 추한 일이지만 작동합니다.

<div class="panel done-{{ todo.done }}" ng-repeat="todo in todos()" ng-click="changeStatus(todo)"> 
    <input type="checkbox" ng-model="todo.done" ng-click="changeStatus(todo)"> {{ todo.title }} 
</div> 
0

입력 필드에 가야 NG 클릭 :

<div class="panel done-{{ todo.done }}" ng-repeat="todo in todos()" > 
    <input type="checkbox" ng-model="todo.done" ng-click="changeStatus(todo)"/> {{ todo.title }} 
</div> 

하고 기능이 있어야한다! 연산자가 변수에 연결되었거나 실패합니다.

$scope.changeStatus = function(todo) { 
    todo.done = !todo.done; 
}; 
+0

변경을 시도했지만 작동하지 않습니다. 또한 잘 작동하는 패널을 클릭 할 수 있기를 원하기 때문에별로 의미가 없습니다. – zimt28

+0

"변수에! 연산자가 있어야합니다. 그렇지 않으면 실패 할 것입니다." PHP에서 왔지만 제대로 작동하고 몇 개의 공백을 둡니다. 그렇지 않아도됩니까? – zimt28

+0

나는 체크 박스를 클릭했을 때 입력이 바뀌길 원한다고 생각했다. 귀하의 문제는 체크 박스 값이 true 또는 false가 아니라고 생각합니다. 예를 들어, value = 'todo 1'과 같이 문자열이고 ng-model이 'todo 1'(todo) 인 경우에만 확인란이 선택됩니다. 완료 = '할 일 1') – ruedamanuel

관련 문제