ユーザーが入力を開始できるリストボックスなどが欲しいのですが、リストボックスはすでに入力されている内容に応じて選択肢を絞り込み、一意のオプションに到達するとオートコンプリートします
3 に答える
HtmlServiceではかなり簡単で、UiAppでは実行可能ですが少し難しいです。HtmlServiceの例を次に示します。
コードファイル
function getGroup(group) {
return GroupsApp.getGroupByEmail(group).getUsers().map(
function(user){return user.getEmail(); });
}
function doGet() {
return HtmlService.createHtmlOutputFromFile("ui");
}
'ui'という名前のHTMLファイル
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<script>
function refresh() {
google.script.run.withSuccessHandler(function(tags) {$( "#tags" ).autocomplete({source: tags});})
.getGroup(document.getElementById('group').value);
}
</script>
Enter a group name in the first box. The second box will autocomplete
group members using GroupApp.
<br>
<label for="group">Group: </label>
<input id="group" onchange='refresh()'>
<div class="ui-widget">
<label for="tags">Members: </label>
<input id="tags">
</div>
</html>
オートコンプリートの例については、 http: //googleappsdeveloper.blogspot.in/2011/05/autocomplete-email-addresses-in-apps.htmlを参照してください。
[編集]HtmlServiceはより高速でより高度です。UiAppは機能しますが、ネットワークのために低速です。
ここでのHtmlServiceソリューションは、Googleスプレッドシートの値配列を使用してjQueryオートコンプリートリストに入力する方がはるかに優れています。
UiAppバージョン: https : //sites.google.com/site/scriptsexamples/learn-by-example/uiapp-examples-code-snippets/suggest-box
または私が構築したこの方法:
実際の動作を確認するには、空港名を次のように入力します。http: //www.treesforlife.org.au/carbon-calculator
しかし、これはgoogle-apps-scriptではなく、スプレッドシートの数式を使用して行われました。http://www.cellmaster.com.auを参照してください