0

jQuery UI Autocomplete ウィジェットは、各アイテムのラベルと値の両方を保持できます。

アイテムが選択されているため、テキストボックスがラベルではなく値に設定されていることに驚きました。これを次のコードでオーバーライドできます。

// ...
select: function (event, ui) {
    $('#myEditBox').val(ui.item.label);
    $("#myHiddenField").val(ui.item.value);
    return false;
},
// ...

アイテムが選択されているときにうまく機能します。ただし、アイテムが強調表示されているだけでも同じ問題が発生します。しばらく検索した後、その動作をオーバーライドする方法がわかりませんでした。

そのアイテムが強調表示されたときにテキストボックスをアイテムのラベルに設定する方法を知っている人はいますか?

4

1 に答える 1

0

答えは、直観的に名前が付けられていないfocusハンドラーをオーバーライドするために処理することです。

// ...
focus: function (event, ui) {
    $('#myEditBox').val(ui.item.label);
    $("#myHiddenField").val(ui.item.value);
    return false;
},
// ...
于 2013-10-03T21:56:41.003 に答える