Javascript 添加到“选择不通过设定工作”+;=方法

Javascript 添加到“选择不通过设定工作”+;=方法,javascript,Javascript,我对使用我们所教的方法添加到select有疑问: 这是我的版本,使用上面的示例,但选择框从未填写,即使console.log(document.forms[0][“武器”])返回正确的标记 守则: html: js: var weaponsArray=[ “大刀”, "弩",, “魔术棒” ]; 函数OnLoad() { 对于(i=0;i

我对使用我们所教的方法添加到select有疑问:

这是我的版本,使用上面的示例,但选择框从未填写,即使
console.log(document.forms[0][“武器”])
返回正确的标记

守则:

html:


js:

var weaponsArray=[
“大刀”,
"弩",,
“魔术棒”
];
函数OnLoad()
{
对于(i=0;i
它不起作用,因为编写代码时,代码就像是在定义一个
选择
框(例如,
“…”
)的字符串后面附加一样;但它实际做的是尝试将
HTMLSelectElement
附加到一个现有的
select
框中。您不能使用字符串连接来实现这一点(至少,跨浏览器连接不可靠)。恐怕你问题顶部的例子根本不正确;它可能适用于某些浏览器,但绝对不是正确的方法

您可以使用
选项轻松添加元素。添加
选项
构造函数:

function OnLoad()
{
    var options = document.forms[0].weapons.options;
    for (var i = 0; i < weaponsArray.length; i++) {
        options.add(new Option(weaponsArray[i], i));
    }
}
函数OnLoad()
{
var options=document.forms[0].warms.options;
对于(变量i=0;i
例如:

var weaponsArray=[
“大刀”,
"弩",,
“魔术棒”
];
函数OnLoad()
{
var options=document.forms[0].warms.options;
对于(变量i=0;i

它不起作用,因为编写代码时,代码就像是在定义一个
选择
框(例如,
“…”
)的字符串后面附加一样;但它实际做的是尝试将
HTMLSelectElement
附加到一个现有的
select
框中。您不能使用字符串连接来实现这一点(至少,跨浏览器连接不可靠)。恐怕你问题顶部的例子根本不正确;它可能适用于某些浏览器,但绝对不是正确的方法

您可以使用
选项轻松添加元素。添加
选项
构造函数:

function OnLoad()
{
    var options = document.forms[0].weapons.options;
    for (var i = 0; i < weaponsArray.length; i++) {
        options.add(new Option(weaponsArray[i], i));
    }
}
函数OnLoad()
{
var options=document.forms[0].warms.options;
对于(变量i=0;i
例如:

var weaponsArray=[
“大刀”,
"弩",,
“魔术棒”
];
函数OnLoad()
{
var options=document.forms[0].warms.options;
对于(变量i=0;i


出于兴趣,你的源材料是什么?@JamesThorpe来自一所大学的讲师,希望大学教授JavaScript以外的其他东西……可能是个错误:
document.forms[0][“武器”].innerHTML+=weapTag
@JamesThorpe:我认为这是可能的,尽管我刚刚在IE8上尝试过它(),但它不起作用。出于兴趣,你的源材料是什么?@JamesThorpe来自一位大学讲师,希望大学教授JavaScript以外的其他东西……可能是个错误:
document.forms[0][“武器”].innerHTML+=weapTag
@JamesThorpe:我认为这是可能的,尽管我刚刚在IE8上尝试了它(),但它不起作用。OPs代码似乎与给定的样本匹配-这本身看起来很可怕,因此我问它从哪里来…@JamesThorpe:完全如此。OPs代码似乎与给定的样本匹配-这本身看起来很可怕,因此我问它是从哪里来的…@JamesThorpe:的确如此。
function OnLoad()
{
    var options = document.forms[0].weapons.options;
    for (var i = 0; i < weaponsArray.length; i++) {
        options.add(new Option(weaponsArray[i], i));
    }
}