Knockout.js 将radiobutton值发送到敲除可观察对象
我正试图将值从单选按钮发送到一个击倒观察对象。我做错了什么? 顺便说一句,我是新手Knockout.js 将radiobutton值发送到敲除可观察对象,knockout.js,radio-button,observable,Knockout.js,Radio Button,Observable,我正试图将值从单选按钮发送到一个击倒观察对象。我做错了什么? 顺便说一句,我是新手 function Question(data) { this.question= ko.observable(data.question); this.answers = ko.observableArray(data.answers); this.explenation = ko.observable(data.explenation ); } function QuestionViewModel() { /
function Question(data) {
this.question= ko.observable(data.question);
this.answers = ko.observableArray(data.answers);
this.explenation = ko.observable(data.explenation );
}
function QuestionViewModel() {
// Data
var self = this;
self.questoin= ko.observable();
var questionNumber = 0;
self.currentAnswer = ko.observable();
self.nextQuestion = function() {
$.getJSON("json/quiz.json", function(data) {
var newQuestion = new Question(data[questionNumber]);
self.question(newQuestion );
});
questionNumber++;
}
self.setCurrentAnswer = function(){
self.currentAnswer = currentAnswerValue;
}
}
ko.applyBindings(new QuestionViewModel());
<ul data-bind="foreach: question">
<li>
<text data-bind="text: question">
</li>
<li>
<ul data-bind="foreach: answers">
<li>
<input type="radio" name="radioAnswer" data-bind="checked: $root.setCurrentAnswer, value: currentAnswerValue">
<text data-bind="text: answerValue"></text>
</li>
</ul>
</li>
</ul>
currentAnswerValue为“true”或“false”,并用json设置。该值是正确的,当我尝试以下操作时,它会起作用:
<text data-bind="text: currentAnswerValue"></text>
以下是获得选择的答案部分: HTML: 试一试:
希望有帮助 这是真的密码吗?如果不是很好,请提供真实代码。。真正的代码是荷兰语,所以可能很难理解。但是除了名字之外,这个代码和真实代码没有区别。在真正的javascript文件中还有很多代码,但我看不出其他代码是如何导致这个问题的,因为它只是一个类,$.json,…这个代码的问题是它无法编译。。。有错误请给我5分钟,我会发布我的全部代码。-setCurrentAnswer后面应该有逗号
Question:
<ul data-bind="foreach: answers">
<li>
<input type="radio" name="group" data-bind="value: itemName, checked: $root.currentAnswer" /> <span data-bind="text: itemName"></span>
</li>
</ul>
<label data-bind="text: currentAnswer()"></label>
var AnswerVM = {
answers: ko.observableArray([{
itemName: 'Answer 1'
}, {
itemName: 'Answer 2'
}]),
currentAnswer: ko.observable()
};
ko.applyBindings(AnswerVM);