有没有办法在Google Apps脚本中的ui元素中获得自动填充功能?

时间:2012-07-10 15:20:31

标签: google-apps-script

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

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

答案 2 :(得分:1)

[编辑] HtmlService更快,更先进。 UiApp可以工作,但由于网络的原因很慢。

此处的 HtmlService 解决方案Populate jQuery autocomplete list using value array from Google Spreadsheet要好得多。

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