【发布时间】:2017-12-14 08:39:23
【问题描述】:
这是一个非常简单的故事,我没能成功:
我们有一个questions 数组。每个问题都有一个answer 数组。每个答案都有一个text 和value。每个question 都有属性selectedAnswer 代表所选答案的value。
这里是 jsfiddle:https://jsfiddle.net/votsevfd/8/
实施:
<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>
这里是相关的JavaScript:
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);
问题:
我希望根据selectedAnswer 的初始值选择适当的单选按钮(在上述情况下,单选按钮No)。但它不起作用。
我错过了什么?
【问题讨论】:
-
这是因为您使用的是旧的淘汰版。在here 之前,我已经回答了一个遇到相同问题的问题
-
@user3297291 谢谢,但不幸的是升级 Knockout 对我来说不是一个选项!