如何传递选择框值。
我有一个电子表格,我想根据选择框值进行过滤。
我开始在表单提交上调用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;
}
答案 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) {
...
}