AutoCompleteを紹介します。
自動補完機能は、一般的なWebサイトでも実現されていますが、CurlでもAutocompleteTextFieldクラスを利用することで、簡単に実現することができます。
使い方
サーバサイドに簡単なスクリプト等を用意する必要があります。詳細は、 サンプルに記載しております。ここでは、Curl側の使い方を紹介します。
{AutocompleteTextField {RandomCompletionProvider} } |
AutocompleteTextFieldは、TextFieldを継承して作成されたクラスです。
引数:provider:AutocompleteProviderには、オンデマンドでデータを提供するためのクラスを指定します。例えば以下のようにAutocompleteProviderを継承して、refreshメソッドをオーバーライドします。
{define-class public open RandomCompletionProvider field public rng:LinearRandom {constructor public {default {construct-super max-results} {method public open {refresh acf:AutocompleteMixin}:void |
この例では、「http://developers.curlap.com/curl/curl-ext/hp/php/words-containing.php?value=%s&max=%s」にリクエストを送り、結果をドロップダウンで表示します。
サンプル
以下のリンクにて、サンプルプを確認することができます。
http://developers.curlap.com/curl/curl-ext/hp/curlext-overview_autocomplete_textfields.curl
このサンプルでは、サーバサイドには、以下のようなphpソースと、TXTファイルを配置しています。
————【phpソース】——————————————————
$req_value = $_GET[‘value’];
$vals = file(“words.txt”);
$count = count($vals);
$output = “”;
for ($i = 0; $i < $count; $i++) {
$pos = stripos($vals[$i], $req_value);
if ($pos === FALSE) {
// Skip it.
} else {
if ($pos >= 0) {
$output .= “$vals[$i]”;
}
}
}
echo “$output”;
?>
————【TXTファイル】——————————————————
http://developers.curlap.com/curl/curl-ext/hp/php/words.txt
また、Google Suggestion APIとの連携はこちらを参照ください。