2012-11-26 8 views
0
내가 상자를 확인할 때 나는 녹아웃, 에 문제가 오전

에 확인되고, 그들은 모두체크 박스 배열이 모든 클릭

이 내가 가진 것입니다 ... 확인되고있어 코드 항목이 및 My_categories 내가 각 ID가

을 추가 할 빈 목록입니다 :

<!-- ko foreach: _Categories_List --> 
    <input type="checkbox" data-bind="attr: {value: $data}, checked: $root.My_categories" /> 
    <span data-bind="text: CODE"></span><br /> 
<!-- /ko --> 

이 내가 차 정말 캔트 코드의 JS 부분 (이다 NGE이 내가 누군가 다른 사람의 작품을 짓고 있어요 동일한 코드를 사용해야하기 때문에 코드가 문서에 어떻게에 관해서 - mapping.fromJS 참조)을 :

var Poi = new Object(); 
Poi.My_categories = []; 
var _Poi = ko.mapping.fromJS(Poi); 

var Categories_List = []; 
var _Categories_List = ko.mapping.fromJS(Categories_List); 

$(document).ready 
(
    function() {   
     ko.applyBindings(_Poi); 
     // here there's an ajax function to load the categories returned in i_Input.My_Result, then: 
     ko.mapping.fromJS(i_Input.My_Result, _Categories_List); 
    } 
); 

이 개체가 아약스에서로드 된 것입니다 입력 요소의 value의 오프

{"My_Result":[ 
    {"CODE":"chalet","DEF_POIS_CATEGORY_ID":2,"DESCRIPTION":"chalet","ENTRY_DATE":"2012-10-10","ENTRY_USER_ID":2,"OWNER_ID":1}, 
    {"CODE":"vila","DEF_POIS_CATEGORY_ID":3,"DESCRIPTION":"villa","ENTRY_DATE":"2012-10-10","ENTRY_USER_ID":2,"OWNER_ID":1} 
]} 

답변

0

checked 바인딩 작품 : 것 같습니다. 코드에서 값을 객체로 설정하면 이되므로 두 입력이 같은 값을 가지므로 하나를 선택하면 둘 다 토글됩니다.

따라서 CODE 속성과 같은 값을 개체의 키와 동일하게 설정해야합니다. 필요한 경우 계산 된 관찰 가능을 사용하여 실제 개체를 나타낼 수 있습니다. 여기

는 샘플입니다 http://jsfiddle.net/rniemeyer/7n9gR/

+0

덕분에 ... 작동하지만, 일이 나는 my_categories 모두를 가지고 싶다, 내가 한 항목을 선택하면 내가 예제를 들어, My_Categories 내부의 모든 데이터를 넣어 싶습니다이다{ "CODE": "샬레", "DEF_POIS_CATEGORY_ID": 2, "DESCRIPTION": "샬레", "ENTRY_DATE": "2012-10-10", "ENTRY_USER_ID": 2, "OWNER_ID": 1 } 아이디어가 있으십니까? 감사합니다. –

+0

실제 오브젝트를 나타 내기 위해 계산을 추가하는 것이 좋습니다. 뭔가를 좋아해요 : http://jsfiddle.net/rniemeyer/vQMRX/ –

+0

고마워요, 정확하게 필요한 것 같습니다,하지만 지금은 다음과 같은 오류가 나타납니다 : "당신이 지정하지 않는 한 ko.computed 값을 쓸 수 없다 'write'옵션을 사용하십시오. 현재 값을 읽으려면 매개 변수를 전달하지 마십시오. " 코드 흐름은 다음과 같습니다. - Poi가 비어있는 매개 변수를 초기화합니다. - 값을 ajax로 읽은 다음 Poi를 채 웁니다. –