我创建的Browser.inputBox
只接受一个文字。但是我需要创建一个下拉列表,我可以从列表中选择,而不是自己键入字符串。
以下是我在点击Odoo(在菜单栏中)>设置时创建的inputBox的屏幕截图。
以下是被触发的功能:
function menu_settings(params) {
if (!params){
params = [["url", "URL"], ["dbname", "Database Name"], ["username", "username"], ["password", "password"]];
}
for (var i = 0; i < params.length; i++){
var input = Browser.inputBox("Server Settings", params[i][1], Browser.Buttons.OK_CANCEL);
if (input === "cancel"){
break;
}
else{
ScriptProperties.setProperty(params[i][0], input);
}
}
}
基本上而不是输入文字,我需要一个包含预定义值的下拉列表。
我正在检查Browser class,我看到没有这样的下拉列表选项。我见过的大多数解决方案都是从单元格中输入的文本中使用DataValidation。但是我想给出我的代码中的下拉列表,而不是电子表格中的任何内容。我该如何实现?我是新手,所以我需要一些建议!
谢谢!
答案 0 :(得分:3)
这是打开HTML对话框的代码:
function fncOpenMyDialog() {
//Open a dialog
var htmlDlg = HtmlService.createHtmlOutputFromFile('HTML_myHtml')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(200)
.setHeight(150);
SpreadsheetApp.getUi()
.showModalDialog(htmlDlg, 'A Title Goes Here');
};
您需要一个HTML文件。
<select name="nameYouWant">
<option value="something">Text</option>
<option value="anything">Drop Down Selection</option>
</select>
<hr/>
<ul>
<li>This is a list.</li>
<li>This is line two.</li>
</ul>
<button onmouseup="closeDia()">Close</button>
<script>
window.closeDia = function() {
google.script.host.close();
};
</script>