AutoCompleteといっても
実は2タイプあって・・・・。
Text版
まーふつーによくあるAutoCompleteです。
- Fieldに値を入れると補った値をFieldにセット
- サーバーから送られてくるデータは単一のList
という当たり前の実装です。
ここから相違点。
submitされるデータはTextFieldの値です。
ComboBox版
上記に対しLabel、Valueと別々の値を取るタイプ。
ここから相違点。
その後submitされるデータはLabelに対応したValueの値です。
まー当たり前のごとくAutoComplete後のデータは再度送信するわけです。
例えば商品名のAutoCompleteを考えると「商品名を補うのはいいけど次に商品名でデータが飛んできても困る」といったケースがあるのかなあと。
選んだ商品名のPKが送信されてくる方がその後の処理は正直楽だったりする。
ComboBox版だと「補われる表示用データ」と「送信するデータ」をそれぞれ持ち易いように持てるので使い勝手が良い。
ComboBox版でもLabel、Valueと同じ値を入れればText版と同じように扱うことができる。
ちゅーわけで個人的におすすめなのはComboBox版かなと。
今のところこのような実装になってるのがdojoのComboBoxなんだけどその他にあるのかなあ?
うくく。