我面临的问题是我如何编码。我尝试google.script.run
但没有工作。当我单击Approved按钮时,该按钮将向该功能抛出数据。我不知道接下来该做什么。我不知道它是如何工作的。谢谢!
的index.html
<body>
<div id="tables">
<? var data = getData();?>
<table id="tableShift1">
<caption >Shift1</caption>
<th> ID </th>
<th> Ldap </th>
<th> Action </th>
<? for (var dataList = 1; dataList < data.length; dataList++) {
?>
<tr >
<td><?= data[dataList][0] ?></td>
<td><?= data[dataList][1] ?></td>
<td><button onclick='google.script.run.setApproved(data[dataList][0])' id='btnLdap'>Approve</button></td>
</tr>
<?
} ?>
</table>
</div>
</body>
Code.gs
function setApproved(data) {
var ss = SpreadsheetApp.openById('17lKIhONfEeNogsBhKtGr4zVaLgH0_199-3J3-0tAdcE');
var sheet = ss.getActiveSheet();
var dataRange = sheet.getDataRange();
var values = dataRange.getValues();
var headers = values[0];
var ldapIndex = headers.indexOf('ID');
var statusIndex = headers.indexOf('approvalstatus');
var sheetRow;
for( var i = 1 ; i < values.length; i++ )
{
var row = values[i];
if(row[ldapIndex] == data)
{
sheetRow = i +1;
break;
}
}
++statusIndex;
sheet.getRange(sheetRow, statusIndex).setValue('Approved');
}
答案 0 :(得分:1)
问题出现在以下
中<td><button onclick='google.script.run.setApproved(data[dataList][0])' id='btnLdap'>Approve</button>
因为,需要发送data [dataList] [0]的值。我们需要使用打印scriptlet来定义html评估时的确切值。 它应该是:
<td><button onclick='google.script.run.setApproved("<?= data[dataList][0] ?>")' id='btnLdap'>Approve</button>