在谷歌应用脚​​本中获取所选值

时间:2017-08-29 13:46:02

标签: javascript google-apps-script

如何传递选择框值。

我有一个电子表格,我想根据选择框值进行过滤。

我开始在表单提交上调用app函数。但是我无法在另一侧再传递一个参数。

我想根据选择框值进行过滤,从而将结果从电子表格中检索到网络应用程序。这是我在html中的选择框。

 Select DATA   
 <select name ="productId" id="gettheVAL">
   <option>DATA1 </option>   
  <option>DATA2 </option>
 <option>DATA3 </option>
 </select>

任何人都可以指导我吗?我通过这个

调用了这个函数
   form.on('submit', function(event){

        event.preventDefault();
        runner.withSuccessHandler(function(array){ 
             for (var i = 0; i < array.length; i++) {

               var item = '<tr><td>' + array[i] +'</td></tr>';
                table.append(item);
        }

        }).retrieveValuesFromForm(this); 

更新

添加以下功能 - retrieveValuesFromForm

 function retrieveValuesFromForm(req) {

//var selectedvalue=$('input[name="gettheSelectValue"]:checked').val();// tried like this but $ is undefined here
var sheetActive = SpreadsheetApp.openById("SHEETID");
var sheet = sheetActive.getSheetByName("SHEETNAME");

var range = sheet.getRange('A:U'); 
var rawData = range.getValues();

var data = [];
for (var i = 0; i < rawData.length; i++) {
    if ((rawData[i][2] == selectedvalue)) // Check to see if column 3 says selectedvalue if not skip it
    {
        //processing
    }
}
return data;

}

2 个答案:

答案 0 :(得分:1)

以下是我如何传递所选选项和其他一些内容。

function sendText()
    {
      var culr=$('input[name="priority"]:checked').val();
      var type=$('#sel1').val();
      var txt=$('#txt1').val();
      var obj={'type':type,'text':txt,'color':culr};
      $('#txt1').css('background-color','#ffff00');
      google.script.run
        .withSuccessHandler(clearText)
        .dispText(obj);
    }

我猜你需要将这一行添加到你的头部标签区域。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

答案 1 :(得分:1)

基于您在表单中有字段的假设,例如

<select name ="productId" id="gettheVAL">

在您的表单中,您可以使用以下参数调用您的Google App Script功能

runner.withSuccessHandler(function(array){ 
    ...
}).retrieveValuesFromForm($("#gettheVAL").val()); 

然后,您将更改retriveValuesFromForm的签名

function retrieveValuesFromForm(selectVal) {
    ...
}