jQuery UI のオートコンプリート プラグインでオートコンプリートする複数の入力フィールドがあります。各入力には、対応する非表示の入力 (ユーザー名とユーザー ID など) があります。変更ハンドラーで、非表示フィールドの値を設定しています。これは期待どおりに機能します。
Return キー + マウス クリックで自動的に次のフィールドを選択するようにしたい場合に問題が発生します。変更イベントを手動でトリガーしないと、変更イベントui.item
は null になります。手動でトリガーすると、 null で2番目の変更イベントが発生しますui.item
。
null から保護するために変更にガードを追加できますui.item
が、これにより、以前に入力したフィールドをクリアできなくなります。
つまり、タブ、Enter、またはマウスのクリックを押すと、テキスト入力の値がユーザー名に設定され、非表示の入力がユーザー ID に設定され、次のテキスト入力がフォーカスされます。
これは、コンテキストで問題を説明/説明するためのインラインコメント付きの JSFiddle です: http://jsfiddle.net/shipstar/Jvfx3/4/
ありがとう!