5

で使用jQuery UI Autocomplete 1.8.1Jquery 1.4.2ていますが、この問題が発生しています。

最初は、オートコンプリート入力フィールドの値を強制することはできません。これは大きな問題ではありません。

しかし、私にはこの問題があります:

selectユーザーがマウスを使用するかキーボードの矢印を使用するかを選択した場合、私は同じように動作しません。キーボードを使用する場合はすべて問題なく、入力テキストボックスで選択すると値が表示されますが、マウスを使用する場合は、選択した値ではなく古い(入力した)値のままになります。

これを制御する方法(選択後のテキストボックスの値)?そして、なぜ異なる行動があるのですか?

PS:関数内の入力ボックスの値を変更するselectことはできないので、役に立たないです!

4

5 に答える 5

3

または、selectに追加できます

select: function( event, ui ) {
    $('#input').val(ui.item.value);
}
于 2012-07-30T10:57:51.723 に答える
2

私はこれと同様の問題を抱えていました。

キーボードを使用すると、テキストボックスからのフォーカスが失われますが、クリックするとフォーカスがテキストボックスに戻ります。

再トリガーされている入力フィールドのフォーカスで何かが起こっている可能性がありますか?

于 2010-06-17T13:05:00.260 に答える
2

あなたはこのようなことをすることができます:

$('#input').autocomplete({
   source: items,
   focus: function(event, ui) { var text = ui.item.value; 
   $('#input').val(text); 
   return false; 
   }
});

マウスでアイテムにカーソルを合わせると、テキストボックスに現在の値が入力され、クリックすると、値がテキストボックスにすでに表示されます。

于 2012-06-13T20:59:57.563 に答える
1

解決策は、オートコンプリートフォーカスコールバック内のpreventDefault()によってイベントを停止することでした

于 2011-11-25T14:39:27.857 に答える
0

私はそれを完璧な方法で解決できなかったので、検索入力フィールドを非表示にして、もう一度検索フィールドに渡されたフォーカスをクリックすると非select表示になる別のカスタマイズを表示することができました。divjQuery UIinput

于 2010-09-22T15:44:24.237 に答える