好吧,我花了很长时间摆弄这个,但进展甚微。但是,我已经看到了很多解决方案,将它们实施到我的情况中不起作用,我真的不知道为什么。
我试图让一些图像在单击时更改下拉菜单的选定值,从而导致下拉菜单上的 onchange 事件发生。
<script type="text/javascript">
function parse_theme(input){
var index = document.getElementById('themes').length; /* this bit is working fine */
for(var i=0;i<=index;i++;){
if(document.getElementById('themes').options[i].value == input){ /*error is here */
document.getElementById('themes').selectedIndex = i;
}
}
}
</script>
和html:
<select id="themes" style="display:none;" onchange="selectTheme()">
<option value="default" selected="selected">default</option>
<option value="ambiance">ambiance</option>
<option value="cobalt">cobalt</option>
</select>
<img id="default" onclick="parse_theme(this.id)" src="images/default.png" width="10" height="10">
<img id="ambiance" onclick="parse_theme(this.id)" src="images/ambiance.png" width="10" height="10">
<img id="cobalt" onclick="parse_theme(this.id)" src="images/cobalt.png" width="10" height="10">
我收到“未捕获的类型错误:无法读取未定义的属性‘值’。
onchange 函数工作正常,但是当我只有下拉菜单时,我希望它通过一系列图像来完成,并让图像引用列表中的选项并使列表不可见。