检查组中的哪个单选按钮(Google AppS脚本)

时间:2012-06-17 17:54:06

标签: radio-button google-apps-script radio-group

使用Google AppS脚本。如何在组中找到已检查的单选按钮?如果它需要处理程序,那么服务器1。

非常感谢

1 个答案:

答案 0 :(得分:1)

这里有一个open issue,但也有一个很好的解决方法;-)(由Romain Vialard,GAS TC发现)

这是他的脚本的略微修改版本,适合在电子表格上运行:

function radiotest() {
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel();
  var radioValue = app.createTextBox();
     radioValue.setId("radioValue").setName("radioValue");               
  // var radioValue = app.createHidden().setName("radioValue") ;// choose the one you like
  for(var i = 1; i < 10; i++){
    var name = 'choice '+i;
    var handler = app.createClientHandler().forTargets(radioValue).setText(name);
    panel.add(app.createRadioButton('radioButtonGroup',name).addValueChangeHandler(handler));
  }
  panel.add(radioValue);
  var Valide=app.createButton("Valide").setId("val");
  panel.add(Valide)                   
  app.add(panel);
//               
  var handler = app.createServerHandler("valide"); // this is the server handler
  handler.addCallbackElement(radioValue)
  Valide.addClickHandler(handler);
//
    SpreadsheetApp.getActiveSpreadsheet().show(app);// show app 
    }
    //
function valide(e){ ;// This function is called when key "validate" is pressed 
  var sh = SpreadsheetApp.getActiveSheet();
  var RadioButton = e.parameter.radioValue;               
  sh.getRange('A1').setValue(RadioButton);
  var app = UiApp.getActiveApplication();
  return app;
}​

请注意,radioValue项可以是文本框或隐藏文本,两种可能性都在脚本/