我正在嘗試根據用戶從下拉選單中的選擇來更改 Google 表格中特定單元格的值。此外,可能值得一提的是,此下拉選單位于從表格資料生成的 HTML 表格中。除了這件小事,一切都正常。幫助將不勝感激!
HTML 片段:
<select id="status" name="status">
<option value="current" id="current"><?= tableData[i][j] ?></option>
<option value="submitted" id="submitted">Submitted</option>
</select>
<script>
let select = document.querySelector('#status');
select.addEventListener('change', update(i, j));
</script>
Code.gs 功能:
var rfi= SpreadsheetApp.openById("REDACTED");
var sheet = rfi.getSheetByName('Sheet1');
function update(i, j) {
sheet.getRange(i, j).setValue("In Review");
}
uj5u.com熱心網友回復:
如果要傳遞坐標,請嘗試
在 HTML 中
<option value="<?=(i 1) '|' (j 1)?>" id="current"><?= tableData[i][j] ?></option>
在 gs
function update(coord) {
sheet.getRange(coord.split('|')[0], coord.split('|')[1]).setValue("In Review");
}
將在您的電子表格發布后完成
樣本
例如,這有效并顯示了如何傳輸坐標
html
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<script>
<? var data = listOfItems(); ?>
</script>
<select id="choice" name="choice">
<option value="" disabled selected >Choose ...</option>
<? for (var i = 0; i < data.length; i ) { ?>
<? for (var j = 0; j < data[0].length; j ) { ?>
<option value="<?=(i 1) '|' (j 1)?>" ><?=data[i][j]?></option>
<? } ?>
<? } ?>
</select>
<script>
$('#choice').change(function(){
google.script.run.update ($(this).val());
});
</script>
</body>
GS
function load() {
var ui = HtmlService.createTemplateFromFile('load')
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle("test ...");
SpreadsheetApp.getUi().showSidebar(ui);
}
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('mySheet')
function listOfItems() {
return sheet.getDataRange().getValues()
};
function update(coord){
sheet.getRange(coord.split('|')[0], coord.split('|')[1]).setValue("In Review");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/432771.html
