gpt4 book ai didi

javascript - 在 Google Apps 脚本中获取按下的按钮的 ID 或标签

转载 作者:行者123 更新时间:2023-12-02 17:10:17 25 4
gpt4 key购买 nike

我正在尝试使用 Google AppsScripts 获取在 for{} 期间生成并放置在 FlexTable 中的按钮 ID 或标记的值。

我必须使用 FlexTable,因为表格的大小会根据我正在读取的电子表格中的数据而变化。

当用户单击编辑按钮时,我需要能够确定 FlexTable 的行。为此,我尝试将行号作为标签和 ID 添加到按钮,并尝试在下一个函数中获取单击元素的值,但无济于事。我没有收到错误,但第二个函数中有一个空变量。

有没有办法获取 Google AppScripts 中按下的按钮的 ID 或标记值?

这是我的代码的相关部分。

function projectList(e){
//spreadsheet and panel stuffs

var projectsPanel = app.createFlexTable().setId("projectsList");
var team = e.parameter.team.toString();

var editProjectsHandler = app.createServerHandler("projectDetails");


for (var i=1;i<topManSSData.length;i++){
//for loop conditions to look up relevant data.

var projectName = datafromSpreadsheet

var editButton = app.createButton("edit").setId("editButton").addClickHandler(editProjectsHandler).setTag(i);

projectsPanel.setWidget(row,0,app.createHTML(projectName)).setWidget(row,1, editButton)
}

return app;
}

//第二个函数的目的是获取按下的按钮的 ID 或 TAG,以便我可以使用数组函数查找与 FlexTable 中的行相对应的数据。

function projectDetails(editbutton){
var app = UiApp.getActiveApplication();

var buttons = app.getElementById("editButton")
var buttonid = buttons.getTag(); //here is where I am having prolems getting a value. I get an empty value.

//etc.
return app;
}

非常感谢任何帮助!

最佳答案

the answer referenced in the other answer 中所述,处理程序触发源的 ID 包含在 e.parameter 属性中。

您可以使用记录器轻松检查,如下所示:

Logger.log(JSON.stringify(e));

如果每个按钮都有自己的 ID,您将通过 e.parameter.source 在处理函数中以字符串形式获取此 ID。您不需要为每个按钮创建单独的处理程序。

在您的代码示例中使用如下所示:

for (var i=1;i<topManSSData.length;i++){
//for loop conditions to look up relevant data.
var projectName = datafromSpreadsheet
var editButton = app.createButton("edit").setId("editButton"+i).addClickHandler(editProjectsHandler);
projectsPanel.setWidget(row,0,app.createHTML(projectName)).setWidget(row,1, editButton)
}

关于javascript - 在 Google Apps 脚本中获取按下的按钮的 ID 或标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24875567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com