是否可以使用选项文本和值加载AppMaker DropDowns?

时间:2017-12-13 22:20:50

标签: google-app-maker

通过这样做,我已经能够在AppMaker DropDown上设置选项:

google.script.run
    .withSuccessHandler(function(oA){app.pages.Notes.descendants.Dropdown1.options=oA;})
    .getSelectOptions();//oA is just an array

但我想知道如何在选项和值中加载不同的值,就像我们可以在javascript中使用类似的东西:

 function updateSelect(vA){
      var select = document.getElementById("sel1");
      select.options.length = 0; 
      for(var i=0;i<vA.length;i++)
      {
        select.options[i] = new Option(vA[i].option,vA[i].value);
      }
    }

我尝试按住以下方式尝试使用dom元素:

var elem=app.pages.myPage.descendants.myDropDown.getElement();
elem.options.length=0;//always gives me an error because options doesn't seem to exist in that object.

所以现在我一直在AppMaker Html小部件中使用标准的HTML dom元素,只要你的选择在第一页上就可以了。如果它不在第一页上,我发现onChange事件无法在不可见的页面上加载Widgets。有趣的是,您可以更改HTML小部件的内容,即使它们位于其他不可见的页面上也是如此。

无论如何,一个简单的问题是如何在AppMaker DropDown Widget中将一个东西加载到值中,另一个东西加载到选项文本中?

<option value="value">text</option>

1 个答案:

答案 0 :(得分:1)

如果您的选项和值有预定义的数组,则可以为下拉列表的onAttach事件执行以下操作:

var options = ['one thing','two thing','three thing'];
var names = ['another one thing','another two thing','another three thing'];
widget.options = options;
widget.names = names;

在这种情况下,将记录的值将是options数组,但是将显示的项目将来自names数组。希望这能让你走上正确的道路。