javascript - 通过选择列表将 Google 表格 A 列添加到外部网站
问题描述
我试图修改我为下拉 onclick 列表找到的代码,并将其变成带有选项的 HTML Select 列表。唯一的问题是我只得到一个条目。
我的最终目标是拥有 country1、country2、country3 以便用户选择一个国家,并且该选择通过外部网站添加到谷歌表中。
姓名(数据输入) 电子邮件(数据输入) 课程(从工作表 1 上的选择列表中选择)
提交(将所有条目添加到 google sheet2)
数据输入提交很简单,但允许用户从列表中进行选择,并且选择的选项被添加到工作表 2 中,这让我很难过。
<html>
<head>
<title>Post to Google Sheet Demo</title>
<!-- bootstrap & fontawesome css -->
<link href="http://cdn.jsdelivr.net/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"/>
<link rel="stylesheet" href="http://cdn.jsdelivr.net/fontawesome/4.1.0/css/font-awesome.min.css" />
<!-- BootstrapValidator CSS -->
<link rel="stylesheet" href="http://cdn.jsdelivr.net/jquery.bootstrapvalidator/0.5.0/css/bootstrapValidator.min.css"/>
<!-- jQuery and Bootstrap JS -->
<script type="text/javascript" src="http://cdn.jsdelivr.net/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.jsdelivr.net/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<!-- BootstrapValidator JS -->
<script type="text/javascript" src="http://cdn.jsdelivr.net/jquery.bootstrapvalidator/0.5.0/js/bootstrapValidator.min.js"></script>
<!-- Animated Loading Icon -->
<style type="text/css">
.glyphicon-refresh-animate {
-animation: spin .7s infinite linear;
-webkit-animation: spin2 .7s infinite linear;
}
@-webkit-keyframes spin2 {
from { -webkit-transform: rotate(0deg);}
to { -webkit-transform: rotate(360deg);}
}
@keyframes spin {
from { transform: scale(1) rotate(0deg);}
to { transform: scale(1) rotate(360deg);}
}
</style>
<link rel="stylesheet" type="text/css" href="main.css">
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
</head>
<body>
<script type="text/javascript">
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(ValIDS);
function ValIDS() {
var queryValIDS = new google.visualization.Query('https://docs.google.com/spreadsheets/d/18HxssOQ5GJarg9tx0DIfuBqPdQTl5jj-h7_G_3vFIl4/edit?usp=sharing');
queryValIDS.send(handleQueryValIDResponse);
}
function handleQueryValIDResponse(response) {
if (response.isError()) {
alert('Error in ID Validation Query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var datatable = response.getDataTable();
for (var i = 0; i < datatable.getNumberOfRows(); i++) {
var ddItem = document.getElementById('myDropdown').appendChild(document.createElement('A'));
ddItem.href = '#';
var ddItemContent = ddItem.appendChild(document.createElement('SPAN'));
ddItemContent.id = 'cat' + (i + 1);
ddItemContent.innerHTML = datatable.getValue(i, 0);
}
}
function myFunction() {
document.getElementById('myDropdown').classList.toggle('show');
}
function schedule(selectedValue) {
{
var dropdowns = document.getElementsByClassName('dropdown-content');
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
<div class="dropdown">
<select onchange="schedule(this.value)">
<option id="myDropdown"></option>
</select>
</div>
</div>
</body>
</html>
这是我的选择代码,它不起作用,你能帮忙吗?对不起,我不是天生的编码员。
解决方案
并将相应的代码更改为此。看到你可以在下拉列表中看到工作表数据。
// for loop
var html = '';
for (var i = 0; i < datatable.getNumberOfRows(); i++) {
html += '<option>' + datatable.getValue(i, 0) + '</option>';
}
document.getElementById('myDropdown').innerHTML = html;
// dropdown
<select onchange="schedule(this.value)" id="myDropdown">
</select>
推荐阅读
- sql - 选择查询以获取带有动态列的结果集
- ios - SwiftUI 中的表单关闭侦听器
- web-scraping - 使用 BeautifulSoup 抓取网页,为什么没有输出?
- azure - 在 VM 上配置 Mosquitto 以连接到 Azure WebApp
- azure-table-storage - 使用 PBI API 以编程方式更新 PowerBI 数据源参数
- c# - 设置 DataGridView 属性时抛出异常
- reinforcement-learning - Rllib 的 PPO 政策网络
- ios - 如何在应用程序启动时保留带有子项的 SwiftUI 列表的展开/折叠状态?
- html - 手机放大时如何在屏幕中央打开弹窗?
- sql - 在apache derby db中创建用户和书籍之间的关系