JSFiddle:http://jsfiddle.net/abepark/rzeNC/7/
我遇到一个问题,即从自动完成下拉菜单中选择一个选项后,ko.observable属性Job.CompanyName没有更新。
是否有更新ko.observable属性而不创建自定义绑定器?
var model = {
Job: {
CompanyName: "Test"
}
};
var InterviewViewModel = function (data) {
ko.mapping.fromJS(data, {}, this);
this.add = function (data) {
console.log("click");
console.log(this.Job.CompanyName());
}.bind(this);
}
$("#CompanyName").autocomplete({
source: ["Test", "cool", "what", "Example", "Cookies"]
});
var viewModel = new InterviewViewModel(model);
ko.applyBindings(viewModel);
viewModel.Job.CompanyName.subscribe(function (val) {
console.log(val);
});
答案 0 :(得分:9)
对我来说,您的样本工作但是当您离开文本框时会将值记录到控制台中。这是淘汰赛的默认行为。
您可以在自动填充功能中添加选择功能,例如:http://jsfiddle.net/jLtPu/4/。它应该可以解决你的问题。
select: function(event, ui) {
$(this).val(ui.item.value).change();
}