2017-12-14 10 views
2

를 업데이트하지 않습니다 나는 그것이 작동되도록하는 데 실패 매우 간단 이야기 :Knockout.js : 관찰의 초기 값은 다음의 RadioButton 상태

우리는 questions의 배열을 가지고가. 각 질문의 배열은 answer입니다. 각 대답은 textvalue입니다. 각 question은 선택한 대답의 value을 나타내는 selectedAnswer 속성을가집니다. JavaScript 관련이 여기

<div data-bind="foreach : {data: questions}"> 

Question: <span data-bind="text: descr"></span> 
<div data-bind="foreach: {data: answers}"> 
    <div>  
    <label data-bind="text: text"></label> 
    <input name="something" type="radio" data-bind="checked: $parent.selectedAnswer, value: value"></input>  
    </div> 
</div> 
<div> 
The selected answer is:<span data-bind="text: selectedAnswer"></span> 
</div> 
</div> 

그리고 :

var model = { 
    questions: ko.observableArray(), 
    }; 

var q1 = { 
    descr: 'Do you like JS?', 
    selectedAnswer: ko.observable('200'), // Initially, select No (200) 
    answers: [ 
    {text:'Yes', value:'100'}, 
    {text:'No', value:'200'} 
    ], 
} 
model.questions.push(q1); 

ko.applyBindings(model); 

이 문제 : 내가 해당 라디오 버튼이되고 싶어 https://jsfiddle.net/votsevfd/8/

구현 : 여기에

은 jsfiddle입니다 선택된 selectedAnswer의 초기 값 (위의 경우, 라디오 버튼 No)에 따라. 그러나 그것은 효과가 없습니다.

무엇이 누락 되었습니까?

+1

오래된 녹아웃 버전을 사용하고 있기 때문입니다. 내가 질문에 대답을하기 전에 [여기] (https://stackoverflow.com/a/38609192/3297291) – user3297291

+0

@ user3297291 고마워,하지만 안타깝게도 업 그레 이드 Knockout 나에게 옵션이 아닙니다! – Hans

답변

3

이것은 이상한 문제입니다. 나는이 같은 checkedvalue 바인딩의 순서를 변경하여 문제를 해결할 수 있었다 : 또 다른 수정이 거기에

<input name="something" type="radio" data-bind="value: value, checked: $parent.selectedAnswer" /> 

Updated fiddle


입니다. 녹아웃의 최신 버전으로 전환하면이 문제가 사라집니다. 그래서, 나는 그들이 버전 2와 3.0 사이 어딘가에 그것을 고정 가정합니다. (이 바인딩 또한 단순화 할 수 foreach : data-bind="foreach : questions")

Updated fiddle

업데이트 :

그것은 참으로 버그입니다. 이에 대한 자세한 내용은 @ user3297291의 detailed answer을 참조하십시오.

+2

* (잘못된 링크를 사용한 후 재 게시, thanks @JoseLuis) * 표시 여부를 묻는 질문에 내 의견을 반복하겠습니다. 버전 2.x와 3.x 사이에 변경된 내용이 궁금한 경우이 쓴 답을 확인하십시오. https://stackoverflow.com/questions/38606419/knockout-radio-button-binding-with-boolean/38609192#38609192 – user3297291

+0

@adiga 어떻게 당신에게 감사 할 수 있습니까? 작품은 이제 매력과 같습니다. 참조 주셔서 감사합니다. – Hans