Javascript 使用Google电子表格中的值数组填充jQuery自动完成列表
我试图在HTML服务文本框中使用以下自动完成功能 我可以成功地这样做,但我想更改可用的标记。标签应该来自电子表格。我已经试过了……请帮忙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
<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,它工作得很好!没有你的帮助我是做不到的。