2016-04-08 1 views
0

jquery-uiでオートコンプリートフィールドを追加したいと思います。値とラベルを持つオブジェクトのリストがあります。ユーザーがアイテムを選択すると、値は非表示フィールドになり、ラベルはオートコンプリートフィールドに入ります。しかし、ドキュメントでは、 "ユーザーが項目を選択したときに値が入力要素に挿入されます"と表示されます。ラベルでオートコンプリート(値ではない)

この動作は変更できますか?ラベル自体が表示されるのではなく、ラベル自体が表示される方がユーザーフレンドリーだと思います。

+0

)私は選択機能でのsetTimeoutで行くことができる、それは動作しますが、多分preventDefaut(約考えていない – Eko

答えて

1

フォーカス:selectフィールド:uiを引数として使用すると、ui.item.labelui.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); 
    }, 
    // [...]  
}); 
+0

よりよい解決策がある、ありがとう! – Eko

関連する問題