使用Javascript在Google表单中创建动态下拉列表

戴维·昆塔尼利亚(David Quintanilla)

我正在为Google Spreadsheets构建脚本,以创建动态下拉列表。这是用JavaScript编写的,但这是我工作的第一批工具,需要一些逻辑上的帮助。

该代码有效,但是现在我想要的是使B列和C列取决于在A列中选择的类别。

下面的脚本具有三个级别:主类别,子组(取决于主类别)和子子组(取决于子组)。

因此,就我而言,我正在为视频内容添加多个属性的标签。因此,主要类别可能是“音频”,我想为同一子组中的两个项目标记它。

基本上,如何使用下面的脚本使B列和C列仅依赖于A列的选择?

我很确定我需要在这里进行一些调整: aColumn + 1);

    function depDrop_(range, sourceRange){
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit (){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
if (aColumn == 1 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
else if (aColumn == 2 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
}
艾伦·威尔斯(Alan Wells)

这是一些可能有用的代码。我还没有测试过,但是看看我做了什么。弄清楚代码的逻辑和改进;运行它,看看会发生什么。如果遇到无法解决的错误或意外结果,请通知我。

function onEdit(e) { //Use the event - e
  var ss = SpreadsheetApp.getActiveSpreadsheet(); //get spreadsheet - ss
  var sh = ss.getActiveSheet(); //get sheet - sh

  var cellRng = e.range; //Range of cell that was edited

  var rowEdited = cellRng.getRow();
  var columnEdited = cellRng.getColumn();
  var range;  //define a variable for a range, and leave it undefined

  if (columnEdited === 1) {//If column one was edited, change the data validation in the next column 
    //Run the function to update the validation twice, once for column B, once for column C
    range = sh.getRange(rowEdited, columnEdited + 1); //Update Column B
    depDrop_(range, cellRng);

    range = sh.getRange(rowEdited, columnEdited + 2); //Update column C
    depDrop_(range, cellRng);
  };

  //If column 1 was not edited, then do nothing
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态填充表单中动态创建的元素的下拉列表

来自分类Dev

在Google Apps脚本中创建动态下拉列表

来自分类Dev

使用JavaScript从PHP数组填充选项中动态创建的下拉列表

来自分类Dev

使用JavaScript从PHP数组中填充带有选项的动态创建的下拉列表

来自分类Dev

使用MVC 4创建动态下拉列表

来自分类Dev

Django表单:如何使用现有模型中的值在表单中创建简单的下拉列表

来自分类Dev

从Google表单的下拉列表中获取值

来自分类Dev

使用硒处理 Google 表单的下拉列表

来自分类Dev

如何使用jquery将新项目动态添加到此表单中的下拉列表中?

来自分类Dev

如何使用jquery将新项目动态添加到此表单中的下拉列表中?

来自分类Dev

Google表单上的动态相关下拉列表

来自分类Dev

使用CodeIgniter填充表单中的下拉列表

来自分类Dev

如何使用javascript动态创建表单?

来自分类Dev

使用javascript动态创建和提交表单

来自分类Dev

使用JavaScript创建动态插入表单

来自分类Dev

使用php中的数据库创建多个动态下拉列表

来自分类Dev

Symfony2.6:创建动态Ajax表单以动态填充下拉列表

来自分类Dev

如何在AngularJS中使用表单创建下拉列表

来自分类Dev

如何在angularjs中创建动态下拉列表

来自分类Dev

在angular js中动态创建多个下拉列表

来自分类Dev

在引导程序的下拉列表中动态创建项目

来自分类Dev

无法从动态创建的选择下拉列表中检索值

来自分类Dev

如何在PHP中创建动态下拉列表?

来自分类Dev

在angular js中动态创建多个下拉列表

来自分类Dev

动态创建的下拉列表中的Chosen.js

来自分类Dev

如何在Codeigniter中创建动态链式下拉列表

来自分类Dev

如何在angularjs中创建动态下拉列表

来自分类Dev

动态创建的下拉列表中的多个追加不起作用

来自分类Dev

如何在 Excel 中创建动态下拉列表

Related 相关文章

  1. 1

    动态填充表单中动态创建的元素的下拉列表

  2. 2

    在Google Apps脚本中创建动态下拉列表

  3. 3

    使用JavaScript从PHP数组填充选项中动态创建的下拉列表

  4. 4

    使用JavaScript从PHP数组中填充带有选项的动态创建的下拉列表

  5. 5

    使用MVC 4创建动态下拉列表

  6. 6

    Django表单:如何使用现有模型中的值在表单中创建简单的下拉列表

  7. 7

    从Google表单的下拉列表中获取值

  8. 8

    使用硒处理 Google 表单的下拉列表

  9. 9

    如何使用jquery将新项目动态添加到此表单中的下拉列表中?

  10. 10

    如何使用jquery将新项目动态添加到此表单中的下拉列表中?

  11. 11

    Google表单上的动态相关下拉列表

  12. 12

    使用CodeIgniter填充表单中的下拉列表

  13. 13

    如何使用javascript动态创建表单?

  14. 14

    使用javascript动态创建和提交表单

  15. 15

    使用JavaScript创建动态插入表单

  16. 16

    使用php中的数据库创建多个动态下拉列表

  17. 17

    Symfony2.6:创建动态Ajax表单以动态填充下拉列表

  18. 18

    如何在AngularJS中使用表单创建下拉列表

  19. 19

    如何在angularjs中创建动态下拉列表

  20. 20

    在angular js中动态创建多个下拉列表

  21. 21

    在引导程序的下拉列表中动态创建项目

  22. 22

    无法从动态创建的选择下拉列表中检索值

  23. 23

    如何在PHP中创建动态下拉列表?

  24. 24

    在angular js中动态创建多个下拉列表

  25. 25

    动态创建的下拉列表中的Chosen.js

  26. 26

    如何在Codeigniter中创建动态链式下拉列表

  27. 27

    如何在angularjs中创建动态下拉列表

  28. 28

    动态创建的下拉列表中的多个追加不起作用

  29. 29

    如何在 Excel 中创建动态下拉列表

热门标签

归档