2013-08-12 4 views
3

knockout.js 및 sammy.js를 사용하여 단일 페이지 응용 프로그램을 개발 중입니다.KnockoutJS : 확인란과 하나의 삭제 버튼을 사용하여 여러 항목 삭제

나는 내가 지금처럼 각 항목에 click 이벤트와 버튼을 연결하여 하나 개의 항목을 제거 할 수있는 방법을 알고 :

self.deleteItem = function(item) { 
    self.array.remove(item); 
} 

내가 여러 항목을 제거 확인란을 사용할 수있는 방법을 알아 내려고 노력하고있어 동시.

누군가 나를 올바른 방향으로 안내 할 수 있습니까?

감사합니다.

답변

4

선택한 행을 저장하기 위해 새 배열을 vm에 추가하여이 작업을 수행 할 수 있습니다. 바인딩 checked를 사용하여 체크 박스에 바인딩이에 대한 http://jsfiddle.net/zvFnW/

+0

감사 :

여기
function ViewModel() { var self = this; self.items = ko.observableArray(["One", "Two", "Three"]); self.selectedItems = ko.observableArray(); self.deleteSelected = function() { self.items.removeAll(self.selectedItems()); self.selectedItems.removeAll(); } } ko.applyBindings(new ViewModel()); <div data-bind="foreach: items"> <input type="checkbox" data-bind="value: $data, checked: $parent.selectedItems" /> <span data-bind="text: $data"></span> <br/> </div> <input type="button" value="Remove Selected" data-bind="click: deleteSelected" /> 

은 예입니다! 코드를 구현하고 체크 상자를 클릭하면 모든 체크 박스가 선택됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 그것은 내 피들에서 작동하지만 어떤 이유로 살지 않습니다. http://jsfiddle.net/ismailp/zvFnW/2/ – Ismailp

+0

말하기 어렵습니다. 그것을 바이올린으로 재현 해보십시오. $ data를 체크 박스에 추가하는 것을 잊지 않았습니까? –

+0

아마도 귀하의 질문을받지 못했습니다. 작동하지 않는 것을 명확히 설명해 주시겠습니까? –