【问题标题】:jquery-ui autocomplete select does not update knockout observable propertyjquery-ui 自动完成选择不更新淘汰赛可观察属性
【发布时间】:2012-12-22 18:29:44
【问题描述】:

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

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin knockout-2.0


    【解决方案1】:

    对我来说,您的示例工作,但是当您离开文本框时,值会登录到控制台。这是淘汰赛的默认行为。

    您可以在自动完成中添加选择功能,如下所示:http://jsfiddle.net/jLtPu/4/。它应该可以解决您的问题。

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

    【讨论】:

    • 谢谢!我只是要发布这个确切的解决方案。
    • 谢谢!对我帮助很大!
    猜你喜欢
    • 2015-01-25
    • 2013-11-25
    • 2015-06-29
    • 2021-09-19
    • 2017-09-28
    • 1970-01-01
    • 2016-09-13
    • 2018-03-30
    • 1970-01-01
    相关资源
    最近更新 更多