如何获取选择框的选定值并将其传递给操作?

How to get the selected value of a selectbox and pass it to an action?

我需要将选择框的值传递给它的小部件处理函数

var payment = CardService.newSelectionInput()
  .setType(CardService.SelectionInputType.DROPDOWN)
  .setTitle("payment mode")
  .setFieldName("payment_mode")
  .addItem("Debit card", "contact", false)
  .addItem("Net banking", "lead", true)
  .setOnChangeAction(CardService.newAction().setFunctionName("onModeChange"));
section.addWidget(payment);

我期待 setFunctionName("onModeChange").setParams(payment.value)

我认为你的脚本几乎是正确的。你可以通过修改一点来实现你想要的。在您的例子中,您想要在函数 onModeChange 处检索 contactlead。如果我的理解是正确的,这个修改怎么样?

在您的脚本中,您可以按如下方式检索 selected 值。当用户 selects 时,selected 值会立即发送到 onModeChange。请在您的脚本中添加此功能。

function onModeChange(e) {
    console.log(e.formInput.payment_mode)
}

如果用户 selects Debit cardNet banking,您可以分别在 e.formInput.payment_mode 检索 contactlead

如果要在用户selects时给附加值,请修改

.setOnChangeAction(CardService.newAction().setFunctionName("onModeChange"))
到 :
.setOnChangeAction(CardService.newAction().setFunctionName("onModeChange").setParameters({key1: "value1"}))

通过此修改,在onModeChange(e),您可以通过e.parameters.key1检索添加的值。

注:

  • 此示例假定您的脚本都有效,并且您可以在 gmail 插件中看到 select 框。如果您的脚本还没有运行,请告诉我。

参考资料:

如果我误解了你的问题,我很抱歉。