jquery-uiでオートコンプリートフィールドを追加したいと思います。値とラベルを持つオブジェクトのリストがあります。ユーザーがアイテムを選択すると、値は非表示フィールドになり、ラベルはオートコンプリートフィールドに入ります。しかし、ドキュメントでは、 "ユーザーが項目を選択したときに値が入力要素に挿入されます"と表示されます。ラベルでオートコンプリート(値ではない)
この動作は変更できますか?ラベル自体が表示されるのではなく、ラベル自体が表示される方がユーザーフレンドリーだと思います。
jquery-uiでオートコンプリートフィールドを追加したいと思います。値とラベルを持つオブジェクトのリストがあります。ユーザーがアイテムを選択すると、値は非表示フィールドになり、ラベルはオートコンプリートフィールドに入ります。しかし、ドキュメントでは、 "ユーザーが項目を選択したときに値が入力要素に挿入されます"と表示されます。ラベルでオートコンプリート(値ではない)
この動作は変更できますか?ラベル自体が表示されるのではなく、ラベル自体が表示される方がユーザーフレンドリーだと思います。
フォーカス:select
フィールド:ui
を引数として使用すると、ui.item.label
とui.item.value
を使用して魔法を実行できます。 preventDefault()
を使用して、定義済みのjQueryの動作をブロックします。
$('#your_element').autocomplete({
// [...]
select: function(e,ui){
e.preventDefault();
// set value in your element
$(this).val(ui.item.label);
// set value in the hidden field
$('#hidden').val(ui.item.value);
},
// [...]
});
よりよい解決策がある、ありがとう! – Eko
)私は選択機能でのsetTimeoutで行くことができる、それは動作しますが、多分preventDefaut(約考えていない – Eko