我有一个函数将一个对象放入一个名为“detailedStudent”的observable中,该函数将以模态显示学生的某些字段。这是问题所在:
这是一个重现问题的jsFiddle:http://jsfiddle.net/62fDB/16/
答案 0 :(得分:1)
下拉选项值是字符串(不是布尔值)。 像这样更新数据初始化
...
"IncludeInStudentSiteResults": "false",
...
的jsfiddle:http://jsfiddle.net/62fDB/22/
或使用以下帖子Knockoutjs (version 2.1.0): bind boolean value to select box
中的解决方案答案 1 :(得分:0)
这是您的版本:
function StudentViewModel() {
var self = this;
this.students = ko.observableArray([]);
this.detailedStudent = ko.observable();
this.clickMe = function(student) {
alert(student.IncludeInStudentSiteResults());
self.detailedStudent(student);
alert(student.IncludeInStudentSiteResults());
}
}
尝试使用我的版本:
function StudentViewModel() {
var self = this;
this.students = ko.observableArray([]);
this.detailedStudent = ko.observable();
this.clickMe = function(student) {
alert(student.IncludeInStudentSiteResults());
self.detailedStudent(ko.observable(student));
alert(student.IncludeInStudentSiteResults());
}
}
JSfiddle:http://jsfiddle.net/62fDB/23/
答案 2 :(得分:0)
这是一个包含我问题答案的小提琴。我不喜欢我必须编写自定义绑定,但替代方法是使用枚举而不是数据绑定到布尔值。