Jquery-ui autocomplete select不会更新knockout observable属性



JSFiddle: http://jsfiddle.net/abepark/rzeNC/7/

我有一个问题,其中ko。可观察属性作业。在您从自动完成下拉菜单中选择一个选项后,CompanyName没有更新。

有什么办法可以得到ko。在不创建自定义绑定的情况下更新可观察属性?

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);
});

对我来说,你的样本工作,但值是登录到控制台,当你离开文本框。这是knockout的默认行为。

你可以像这样在自动完成中添加选择功能:http://jsfiddle.net/jLtPu/4/。这应该能解决你的问题。

select: function(event, ui) {
    $(this).val(ui.item.value).change();
}

最新更新