2014-11-12 11 views
0

내 개체의 배열을 포함하는보기 모델이 있습니다. 내 개체의 속성 중 하나는 라디오 그룹에 바인딩하려는 minversion이라는 부울 값입니다. 몇 가지 방법을 시도했지만이 방법을 사용할 수 없습니다. 여기 녹아웃 라디오 그룹 observableArray에 바인딩

내보기 모델입니다

다음
function ViewModel() { 

    var self = this; 
    this.apps = ko.observableArray(@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model))); 

}; 

내 입력입니다

<tbody data-bind="foreach: apps"> 
          <tr> 
           <td style="text-align:center"> 

            <input type="radio" name="apps" data-bind="attr: { value: Id }, checked: MinVersion" /> 


           </td> 
           <td data-bind="text: type"></td> 
           <td data-bind="text: Name"></td> 

          </tr> 

         </tbody> 
+0

: 여기

는 동적으로 생성 된 라디오 버튼의 배열의 일 예이다? 어쨌든, 라디오 버튼은 녹아웃에서 다른 처리 방법을 사용합니다 (체크 박스와 비교). [documentation] (http://knockoutjs.com/documentation/checked-binding.html), 섹션 매개 변수 -> 주 매개 변수 -> 라디오 버튼 –

답변

1

후 검사 값 것, (한 번에 선택된 하나 개의 값을) 의도 한대로 당신이 라디오 버튼을 사용하는 경우 앱 컬렉션 외부에 있어야합니다. 체크 박스 배열 (0 - 한 번에 여러 개 선택)과 같이 사용하려는 경우 컬렉션에 체크 된 값을 갖는 것이 적절합니다. 이 부울은 다음 체크 박스가 아닌 라디오를 사용해야하는 경우 일 수 있습니다 http://jsfiddle.net/74ht766s/1/

<div data-bind="foreach: apps"> 
    <input type="radio" name="apps" data-bind="attr: { value: $data}, 
     checked: $parent.selectedVersion,"/> 
    <span data-bind="text: 'Version ' + $data"/> 
    <br/> 
</div> 

var ViewModel = function() { 
    var self = this; 

    self.apps = [1,2,3]; 
    self.selectedVersion = ko.observable(self.apps[0].toString()); 
};