通过这样做,我已经能够在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>
答案 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数组。希望这能让你走上正确的道路。