首页 文章

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

提问于
浏览
0

通过这样做,我已经能够在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 回答

  • 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数组 . 希望这能让你走上正确的道路 .

相关问题