0

私はこのjsfiddleから(この最初のSO質問から)このノックアウトバインディングをしばらく使用していて、それは機能しています。

jQuery1.8.3およびjQueryUI1.9.2(jsfiddle)にアップグレードした後、入力にテキストを入力すると、アイテムリストが入力された後(選択されていない!)、入力テキストボックスがクリアされ、入力を再開する必要があります。始まり。常に最初からやり直す必要があるため、テキスト入力を完了できないため、これは面倒です。

jqAutoSourceInputValueとが同じプロパティ名の場合jqAutoSourceValueは機能しますが、選択後のidまたは入力値のいずれかが目的の値ではありません。

4

1 に答える 1

2

問題は、バインディングのupdate関数が更新されているobservableArrayに依存しているという事実に起因しているようです。以前から実際の動作を変更するためにjQueryUIで何が変更されたかはよくわかりませんが、1つの修正はpeek、依存関係を回避するためにKnockout 2.2.1に更新し、関数を介してobservableArrayにアクセスすることです。何かのようなもの:

var source = (ko.isObservable(allBindings.jqAutoSource) ? allBindings.jqAutoSource.peek() : allBindings.jqAutoSource) || [];

更新されたフィドル:http://jsfiddle.net/rniemeyer/xXuq6/

KO 2.2.1に更新できない場合は、他にもいくつかの方法があります。お知らせ下さい。

于 2013-02-19T15:06:51.497 に答える