在Google网站中添加下拉框

时间:2017-08-22 04:09:54

标签: select button google-apps-script google-sites

我在Google表格中有一些数据。 如何根据下拉框中的用户请求提取数据,并在 Google网站中生成数据。 我面临的挑战。

Prob_1-使用Google网站的下拉框

Prob_2-从Google电子表格中生成谷歌网站中的动态数据(或表格)。

Analysis_1 - 我做了一个详细的研究,并且明白只使用第三方插件,我可以制作一个选择框。作为一个新人,需要一些基于此的指导方针。 没有任何第三方插件是不可能的。

Analysis_2-或者是否有其他选项可以根据Google网站中的选择生成操作。我知道在谷歌网站上无法编写脚本。那么如何进行按钮点击操作呢。

需要一些指导方针。

1 个答案:

答案 0 :(得分:1)

这是一些将选项加载到选择框中的JavaScript代码。

function updateSelect(vA)//array of values that go into the drop down or select box
{
  var select = document.getElementById("sel1");
  select.options.length = 0; 
  for(var i=0;i<vA.length;i++)
  {
    select.options[i] = new Option(vA[i],vA[i]);
  }
}

这是选择框的html。

 <select id="sel1" style="width:125px;height:35px;margin:10px 0 10px 0;">
      <option value="" selected></option>
   </select>

对我来说似乎很简单。

这是一个更完整的解决方案。

代码:

function getSelectOptions()
{
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Options');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var options=[];
  for(var i=0;i<vA.length;i++)
  {
    options.push(vA[i][0]);
  }
  return vA;
}

function showSidebar()
{
  var userInterface=HtmlService.createHtmlOutputFromFile('f');
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'The Drop Down with No Options now has options.');
}

f.html

<!DOCTYPE html>
<html>
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <script>
    $(function() {
        $('#txt1').val('');
        google.script.run
          .withSuccessHandler(updateSelect)
          .getSelectOptions();
      });
    function updateSelect(vA)
    {
      var select = document.getElementById("sel1");
      select.options.length = 0; 
      for(var i=0;i<vA.length;i++)
      {
        select.options[i] = new Option(vA[i],vA[i]);
      }
    }
    console.log("My code");
  </script>
  </head>
  <body>
   <select id="sel1" style="width:125px;height:35px;margin:10px 0 10px 0;">
   </select>
 </body>
</html>

以下是名为Options

的工作表

enter image description here