【发布时间】:2020-07-23 09:33:08
【问题描述】:
我一直在研究这段代码。我有一个 HTML、JS 和一个 Code.js 页面。
在我的 HTML 表单上更改下拉列表中的值时,下拉列表中的项目将传递给 Code.js 以返回结果,但是,我的结果始终为 NULL。 -arr 是结果。
另一个问题是,我可以在脚本日志中看到 getRowData() 被执行了两次,不知道为什么,但这可能会覆盖我们的数组。
HTML
JS
//$('#searchDropdown').one('change', function(){
//$("#searchDropdown").change(function(){
//$('#searchDropdown').on('keyup propertychange change', function(){
//$('#searchDropdown').on('input', function(){
//$('#searchDropdown').one('submit', function(){
$('#searchDropdown').one('change', function(){
var selatr = $('#input1').val();
google.script.run.withSuccessHandler(poperr).getRowData(selatr);
});
function poperr(arr){
alert(arr +" ! ");
}
代码.GS
function getRowData(selatr){
//Vlookup a GoogleSheet and return the resulting row
sheet_data.getRange(2,16).setValue(selatr); //set for vlookup
var x = sheet_data.getRange(3,16).getValues();
var arr= [];
arr.push({
id : selatr
name : sheet_data.getRange(x,2).getValues()
})
return arr;
}
【问题讨论】:
-
你确定你的 vlookup 成功返回了一些数据并且你的 arr 在 getRowData 函数中有一些价值吗?
-
感谢您的建议!我在 getRowData() 的末尾添加了一个 Logger.Log() 来查看 arr。我可以看到 arr 是正确的
标签: javascript html jquery google-apps-script