2017-09-09 3 views
0

녹아웃 JS에 완전히 익숙합니다. 하나의 열이 입력 유형 확인란 인 테이블을 가지고 있습니다. html 테이블 끝에 "추가"버튼이 하나 있습니다. 이제 "추가"버튼을 클릭하면됩니다. 확인란을 선택하는 모든 행을 가져올 수 있어야합니다.체크 박스 열이 선택되는 행 가져 오기 - 녹아웃 JS

HTML

<table> 
     <thead> 
      <tr> 
       <th>Add Data</th> 
      </tr> 
     </thead> 
     <tbody data-bind="foreach: SearchResult"> 
      <tr> 
       <td data-bind="text: Name"></td> 
       <td><input type="checkbox" class="" data-bind="checked: selectedArray"/></td> 
      </tr> 
     </tbody> 
     <tfoot> 
      <tr> 
       <td><button type="button" id="addButton" data-bind="click: AddSelection">Add</button></td> 
      </tr> 
     </tfoot> 
    </table> 

내가 체크 박스 열이 선택되어있는 모든 행을 얻을 수있는 방법 이제 아무도 나에게 말할 수있다. 나는 이것을 통과했지만 이것은 나를 위해 작동하지 않았다. 참조

send information from multiple checkbox to array Knockout js

바이올린 http://jsfiddle.net/smsharma/u9ts4uvf/

+0

당신의 자바 스크립트 코드를 게시 당신이 시도 것과. 또한 정확히 작동하지 않는 것을 언급해야합니다. 테이블이로드되고 있습니까? 추가 클릭 이벤트가 작동합니까? – adiga

+0

예, 테이블에 모든 데이터가로드되며 액세스 클릭 또한 작동합니다. 문제는 선택한 체크 박스가있는 행을 가져 오는 코드를 작성하는 방법을 얻지 못하는 것입니다. –

+0

[Knockout documentation] (http://knockoutjs.com/documentation/introduction.html)을 통해 'observables'의 의미를 이해하십시오. 그런 다음 ['foreach'] (http://knockoutjs.com/documentation/foreach-binding.html) 및 ['checked'] (http://knockoutjs.com/documentation/checked-binding.html) 바인딩을 이해하십시오. 이것은 기본적인 구현입니다. 수백 가지 예가 온라인에 있습니다. 코드를 작성하고 어딘가에 붙어 있다면 여기에 게시 할 수 있습니다. SO는 코드 작성 서비스가 아닙니다. – adiga

답변

1

여기에 업데이트 된 바이올린의 : http://jsfiddle.net/u9ts4uvf/1/

당신은 새로운 항목을 생성하는 addItem를 함수를 만들 수 있습니다, 그리고 배열 availableItems에 추가 :

self.addItem = function() { 
    var item = new BookItem(1, 'Lorem Ipsum', '$0.99'); 
    item.Selected(true); 
    self.availableItems.push(item); 
}; 

하지만 n EED는 checkedSelectedBookItem true로 설정되어있는 경우들이 선택되어 있는지 확인하기 위해 체크 박스에 바인딩 추가 :

<input type="checkbox" data-bind="value: id(), click: $root.toggleAssociation, checked: Selected" /> 
+0

제 모델에는 "선택한"필드가 없습니다. 옵션이 없으면이를 수행 할 수 있습니다. –

+0

'BookItem'에'self.Selected = ko.observable (false);'가 있습니다. 그것이 제가 언급 한 것입니다. – Nisarg

+0

사실, 나는 서비스에서 데이터를 얻고 있으므로 가지고 있지 않습니다. 서비스에서부터, 저는 직접 ViewModel에 데이터를 얻고 있습니다. 나는 책을 배열하고 있습니다. 다른 방법이 있습니까? –