【问题标题】:Print the list by selecting a value - Javascript通过选择一个值打印列表 - Javascript
【发布时间】:2014-05-22 13:27:19
【问题描述】:

我正在尝试使用列表中的一个选项的压力打印一个值列表。 在第一个函数中,用户通过单击选择了值(对应于带有要显示的选项的数组)。到目前为止一切正常,问题实际上是最后一个函数,有一些我无法理解的错误。

var selectedValue = x;

for(i = 0; i < opts[selectedValue].length; i++)
{

var opt = document.createElement('li');
opt = opts[selectedValue][i];

opt.innerHTML = opts[selectedValue][i];
document.body.opn.appendChild(opt);

}

SelectedValue 是变量,有了这个,我得到了另一个函数传递的参数(该参数称为x)对应于列表中用户点击的元素。 此时,我创建了一个选项列表,该列表存在于数组中。只有我不确定。请注意,“opts”是数组;而“opt”选项包含您创建的列表。

【问题讨论】:

  • 请小提琴......

标签: javascript arrays list


【解决方案1】:

您的变量处理看起来有点古怪:在使用新的 dom 元素 (?) 初始化后,您直接将迭代数组中的值分配给 opt。虽然以下稍作修改的代码没有经过测试,但我很确定它应该会引导您走向正确的方向:

var selectedValue = x;

for(i = 0; i < opts[selectedValue].length; i++) {

  var opt = document.createElement('li');
  opt.innerHTML = opts[selectedValue][i];

  document.body.opn.appendChild(opt);
}

【讨论】:

  • 无法读取未定义的属性“appendChild”:document.body.opn.appendChild(opt);
  • 这与你的 dom (HTML) 有关。确保有像&lt;select id="opn" ...&gt; 这样的元素。更好的是:使用document.getElementById('opn')document.getElementByName('opn')(后者在使用属性name="opn" 作为目标元素时)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多