我与此处讨论的问题相同:How to pass a parameter to html?
换句话说,我需要将参数传递给Picker,以便他知道我正在选择哪个文件。基于此文件类型,不同的功能将作为回调的一部分运行。
我使用的是Google提供的Picker示例:https://developers.google.com/apps-script/guides/dialogs
选择器显示以下代码:
function showPicker() {
var html = HtmlService.createHtmlOutputFromFile('Picker.html')
.setWidth(600)
.setHeight(425)
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, 'Select a file');
}
当然,现在我想将参数传递给选择器,以便它知道我要打开的文件。基于上一篇文章中提供的示例(实际上,它看起来是最好的方法),我对以下内容进行了修正:
function doGet() {
var htmlTemplate = HtmlService.createTemplateFromFile('Picker');
htmlTemplate.dataFromServerTemplate = { first: "hello", last: "world" };
var htmlOutput = htmlTemplate.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('sample');
return htmlOutput;
}
不幸的是,没有出现Picker窗口。如何解决?
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以在HTML模板的客户端Javascript中进行处理。 Google提供的示例在加载页面时立即显示选择器,但不必一定是这种方式。
您可以将createPicker()函数绑定到客户端HTML中的事件(例如,选择列表项),然后将DOM元素的唯一ID传递给该函数。
HTML
<span id="item1" onClick="createPicker(this.id)"> Item1 </span>
JavaScript
function createPicker(id){
// build the picker based on the id of the item selected
}