我在电子表格中添加了一个侧边栏,我可以将变量从侧边栏传递到工作表(使用google.script.run)。如何将值从电子表格传递回边栏,修改侧边栏内容?
编辑:添加我的代码。 基本上我在侧边栏中输入一个数字,在电子表格中找到它的行位置,并需要将该行字段传回边栏,以更新div(#fieldA,fieldB)。
一旦我得到行号,我只需要将fieldA,fieldB值添加到变量中,但我不知道如何将其传递回侧栏。
电子表格
Number FieldA FieldB
111 1a 1b
222 2a 2b
333 3a 3b
的index.html
<form>
<input type="text" id="someNumber">
<button type="button" onClick="findNumber()">Find number</button>
</form>
<div id="fieldA"></div>
<div id="fieldB"></div>
<script>
function findNumber(){
var number = document.getElementById("someNumber").value;
google.script.run.findNumber(number);
}
</script>
code.gs
var sheet = SpreadsheetApp.getActiveSheet();
function findNumber(a){
var lastRow = sheet.getLastRow();
var lookRange = sheet.getRange(1, 1, lastRow);
var values = lookRange.getValues();
for (i in values) {
if (values[i] == a) {
var updateRow = 1+ parseInt(i);
Logger.log(values[i] + " is in row " + updateRow);
break;
}
}
}
答案 0 :(得分:0)
我在打开时运行一个获取默认值的脚本,然后填充正确的表单字段。我用jquery。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script>
$(function() {
google.script.run.withSuccessHandler(populateQuestions).withFailureHandler(fail).getCEDefaults();
});
function populateQuestions(defaults){ //defaults is the return variable from getCEDefaults() on the .gs file
$("#enableDisable").attr('checked', defaults.submitTrigger);
};