我有一个
HTML页面,包括一个带有多个< select>的表单.元素.我知道如何将元素加载到单个< select> ;;这是一段代码,可以按照我的预期运行:
$(function() {
google.script.run.withSuccessHandler(buildProjectList)
.getProjects();
});
function buildProjectList(options) {
var list = $('#projectList');
list.empty();
for (var i=0; i
list.append('' + options[i] + '');
}
}
它正确获取项目列表,并将选项添加到< select>.
现在我要做的是添加一个选项列表(所有相同)到多个< select>元素.
这是我编写的代码:
$(function() {
google.script.run.withSuccessHandler(buildDropDowns)
.getDropDowns();
});
function buildDropDowns(sizes) {
var selections = document.getElementsByClassName('resourceSize');
for(var i=0; i
console.log(selection);
for(var j= 0; j
selections[i].options.add(sizes[j], sizes[j]);
}
}
}
function buildDropDowns(sizes) {
var selections = document.getElementsByClassName('resourceSize');
for(var i=0; i
var selection = selections[i];
console.log(selection);
for(var j= 0; j
selection.options.add(sizes[j], sizes[j]);
}
}
}
我也试过它,我在迭代时为每个元素创建一个新变量:
function buildDropDowns(sizes) {
var selections = document.getElementsByClassName('resourceSize');
for(var i=0; i
var selection = selections[i];
console.log(selection);
for(var j= 0; j
selection.options.add(sizes[j], sizes[j]);
}
}
}
无论哪种情况,这都是我在控制台中遇到的错误:
Uncaught TypeError: Failed to execute 'add' on 'HTMLOptionsCollection':
The provided value is not of type '(HTMLOptionElement or HTMLOptGroupElement)'
基于我已经完成的一些搜索,我尝试了几个不同的东西,但无论我尝试什么,我都会得到相同的错误信息.我假设它与getElementById和getElementsByClassName之间的区别有关.一个返回元素本身,另一个返回元素数组.但我认为我应该能够遍历该数组,并使用add函数.
我可以看到迭代正在运行;这是console.log(选择)在循环每个元素时显示的内容:
有没有办法迭代元素,并为每个元素添加每个选项?或者我是否需要为我想要修改的每个元素使用getElementId语句?
function buildDropDowns(sizes) {
var list = $('#busMerchPlan');
list.empty();
for (var i=0; i
list.append('' + options[i] + '');
}
var list = $('#busMerchAlloc');
list.empty();
for (var i=0; i
list.append('' + options[i] + '');
}
var list = $('#busMerchBuy');
list.empty();
for (var i=0; i
list.append('' + options[i] + '');
}
var list = $('#busMerchPDD');
list.empty();
for (var i=0; i
list.append('' + options[i] + '');
}
}
我可以做到这一点,但最后,我将有20< select>元素,必须有比蛮力更好的方法.