Knockout和jQuery自动完成

前端之家收集整理的这篇文章主要介绍了Knockout和jQuery自动完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Knockout值绑定不适用于 jquery autocomplte.如何让它工作?

我有一个模板:

<input 
   type="text" 
   class="autocomplete" 
   data-bind="value: viewmodelObservableValue"
   name="MyValue" />

在模板渲染之后,我在输入上应用了jQuery自动完成.绑定不起作用看我的jsfiddle.

它只适用于ko.applyBindings(viewmodel)在$(..)之后.autocomplete(..);

解决方法

看起来jQuery autocomplete劫持了更改事件.这就是为什么它不起作用

解决这个问题,你必须将valueUpdate属性设置为blur.当然,这不会在选择项目后触发,你必须先模糊.

$(function() {
    var availableTags = [
      "ActionScript","AppleScript","Asp","BASIC","C","C++","Clojure","COBOL","ColdFusion","Scheme"
    ];
    $(".autocomplete").autocomplete({
      source: availableTags
    });
 });

var viewmodel = {
    myValue: ko.observable()
};

ko.applyBindings(viewmodel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>

<input type="text" class="autocomplete" data-bind="value: myValue,valueUpdate:'blur' " />

<div data-bind="text: myValue"></div>

猜你在找的jQuery相关文章