Google表格A列通过选择列表进入外部网站

时间:2019-03-08 14:14:34

标签: javascript google-sheets

我试图修改为下拉onclick列表找到的代码,并将其放入带有选项的HTML Select列表中。唯一的问题是我只有一个条目。

我的最终目标是拥有country1,country2,country3,以便用户选择一个国家,然后通过外部网站将该选择添加到Google工作表中。

名称(数据输入) 电子邮件(数据输入) 课程(从Sheet1的选择列表中选择)

提交(将所有条目添加到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>

这是我选择的代码,该代码不起作用,能为您提供帮助吗?抱歉,我不是天生的编码员。

1 个答案:

答案 0 :(得分:0)

并将相应的代码更改为此。看到您可以在下拉菜单中看到工作表数据。

// 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>