【发布时间】:2015-02-24 15:15:11
【问题描述】:
这就是想法:当我点击“word1”(或“word2”)时,选择标签会显示选项。单击其中一个选项后,我的脚本将更改“word1”(或“word2”)选项。我可以更新选项,但是一旦我单击其中一个,脚本总是会写入最后一个选项。 该脚本为所有选项编写相同的 onClick 属性... 我一直在寻找很多,但我不明白为什么会发生,以及如何解决它。
代码如下:
function updatemyselect(currentElement, optionsList) {
var mySelect = document.getElementById("mySelect");
var i;
//Clear the options
mySelect.options.length = 0;
//Add the options
for (i = 0; i < optionsList.length; i++) {
var option = document.createElement("option");
var newWord = optionsList[i]
option.text = newWord;
option.onclick = function() {
currentElement.innerHTML = newWord;
};
mySelect.add(option);
}
}
<select id="mySelect">
</select>
<p onclick="updatemyselect(this,['Dog','Cat','Fish'])" class="changedWord">Word1</p>
<p onclick="updatemyselect(this,['Cow','Horse','Whale'])" class="changedWord">Word2</p>
提前致谢
【问题讨论】:
-
我认为您必须在 select 上使用 onchange 属性来执行您的操作
-
谢谢,我用onchange属性解决了
标签: javascript select onclick options