2

我想要一个列表框或类似的东西,用户可以在其中开始输入,列表框会根据已经输入的内容缩小选择范围,并在达到唯一选项后自动完成

4

3 回答 3

4

尽管可行,但在 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>
于 2012-07-10T18:30:01.167 回答
2

有关自动完成的示例,请参阅http://googleappsdeveloper.blogspot.in/2011/05/autocomplete-email-addresses-in-apps.html

于 2012-07-10T15:57:11.980 回答
1

[编辑] 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

于 2012-07-11T03:51:55.057 回答