Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Google电子表格中的值数组填充jQuery自动完成列表_Javascript_Jquery Ui_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 使用Google电子表格中的值数组填充jQuery自动完成列表

Javascript 使用Google电子表格中的值数组填充jQuery自动完成列表,javascript,jquery-ui,google-apps-script,google-sheets,Javascript,Jquery Ui,Google Apps Script,Google Sheets,我试图在HTML服务文本框中使用以下自动完成功能 我可以成功地这样做,但我想更改可用的标记。标签应该来自电子表格。我已经试过了……请帮忙 <script> var ss = SpreadsheetApp.openById("0Avt7ejriwlxudGZfV2xJUGJZLXktm2RhQU1uRUgtaXc"); var s = ss.getSheetByName("Database"); var lastrow = s.getLastRow(); var li

我试图在HTML服务文本框中使用以下自动完成功能

我可以成功地这样做,但我想更改可用的标记。标签应该来自电子表格。我已经试过了……请帮忙

<script>
var ss = SpreadsheetApp.openById("0Avt7ejriwlxudGZfV2xJUGJZLXktm2RhQU1uRUgtaXc");
   var s = ss.getSheetByName("Database");
   var lastrow = s.getLastRow();
   var list = s.getRange(2,3, lastrow).getValues();
   for( var i = 0; i < list.length; i++)  {

  }

    $(function() {
    var availableTags = [list[i][0]];
    $( "#tags" ).autocomplete({
    source: availableTags
    });
    });
</script>

var ss=SpreadsheetApp.openById(“0AVT7ejriwlxudgzfv2xjugjzlxktm2Rhqu1rugtasc”);
var s=ss.getSheetByName(“数据库”);
var lastrow=s.getLastRow();
var list=s.getRange(2,3,lastrow).getValues();
对于(变量i=0;i

如何修改代码以正确链接可用标签,请提供帮助。

最好将UI HTML与将填充列表的应用程序脚本代码分开。因此,首先,这里是如何分离这些位,从应用程序脚本函数返回
availableTags
列表。(从a改为类似的问题。)

作为web应用程序发布,这将生成一个带有自动完成功能的输入框,其中可用的标记由应用程序脚本功能提供。当页面加载时,我们调用该函数,如下所示:

      google.script.run.withSuccessHandler(buildTagList)
                       .getAvailableTags();
function getAvailableTags() {

  var ss = SpreadsheetApp.openById("0Avt7ejriwlxudGZfV2xJUGJZLXktm2RhQU1uRUgtaXc");
  var s = ss.getSheetByName("Database");
  var data = s.getDataRange().getValues();
  var headers = 1; // number of header rows to skip at top
  var tagColumn = 2; // column # (0-based) containing tag

  var availableTags = [];
  for (var row=headers; row < data.length; row++) {
    availableTags.push(data[row][tagColumn]);
  }

  return( availableTags );
}
代码.gs Autocomplete.html
最好将UI HTML与将填充列表的应用程序脚本代码分开。因此,首先,这里是如何分离这些位,从应用程序脚本函数返回
availableTags
列表。(从a改为类似的问题。)

作为web应用程序发布,这将生成一个带有自动完成功能的输入框,其中可用的标记由应用程序脚本功能提供。当页面加载时,我们调用该函数,如下所示:

      google.script.run.withSuccessHandler(buildTagList)
                       .getAvailableTags();
function getAvailableTags() {

  var ss = SpreadsheetApp.openById("0Avt7ejriwlxudGZfV2xJUGJZLXktm2RhQU1uRUgtaXc");
  var s = ss.getSheetByName("Database");
  var data = s.getDataRange().getValues();
  var headers = 1; // number of header rows to skip at top
  var tagColumn = 2; // column # (0-based) containing tag

  var availableTags = [];
  for (var row=headers; row < data.length; row++) {
    availableTags.push(data[row][tagColumn]);
  }

  return( availableTags );
}
代码.gs Autocomplete.html
如果范围大于所需列中的行数,则仅是一种改进@WilliamChiquito——这是一个很好的改进——就像任何类型的错误检查一样。它肯定属于最终的代码解决方案。(除非错误处理是问题的关键,否则我倾向于在大多数SO答案中忽略这一点。)同上…在现场…你是SIMPY GR8…不需要做任何研究…任何工作…简单地粘贴你的代码和Dhammm…一如既往地感谢你宝贵的时间…顺便说一句,我将一步一步地学习每个逻辑…任何关于如何学习这一切的建议…从javascript开始-我推荐Codecademy。完成一些工作。使用上的一些问题练习挑战。之后,不同的问题将带来新的学习机会。。。HTML&jQuery用于HtmlService UI,XML用于解析或服务数据。。。你永远不会完蛋!谢谢Mogsdad,它工作得很好!如果没有您的帮助,我将无法做到这一点。如果范围大于所需的列中的行数,这仅仅是一种改进@WilliamChiquito——这是一个很好的改进——就像任何类型的错误检查一样。它肯定属于最终的代码解决方案。(除非错误处理是问题的关键,否则我倾向于在大多数SO答案中忽略这一点。)同上…在现场…你是SIMPY GR8…不需要做任何研究…任何工作…简单地粘贴你的代码和Dhammm…一如既往地感谢你宝贵的时间…顺便说一句,我将一步一步地学习每个逻辑…任何关于如何学习这一切的建议…从javascript开始-我推荐Codecademy。完成一些工作。使用上的一些问题练习挑战。之后,不同的问题将带来新的学习机会。。。HTML&jQuery用于HtmlService UI,XML用于解析或服务数据。。。你永远不会完蛋!谢谢Mogsdad,它工作得很好!没有你的帮助我是做不到的。