更改下拉菜单中的选定选项,从而导致onchange事件;javascript
Changing the selected option in a dropdown menu and so cause an onchange event; javascript
好吧,我已经花了很长时间来处理这个问题,但进展甚微。然而,我已经看到了很多解决方案,在我的情况下实施它们是行不通的,我真的不知道为什么。
我试图让一些图像在被点击时更改下拉菜单的选定值,从而导致下拉菜单上发生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">
我收到"未捕获类型错误:无法读取未定义的属性'value'。
onchange函数运行良好,但当我只使用下拉菜单时,我希望通过一系列图像来完成,并使图像引用列表中的选项,使列表不可见。
将其更改为
for(var i=0;i<index;i++;){
循环的最后一个索引可能失败了,因为索引值为3,您将循环0、1、2、3,而不是的3倍
相关文章:
- 如何使用javascript和PHP动态触发onChange事件
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- 如何在jQuery中为asp:textbox生成onchange事件
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 当select标记触发onChange事件时,从mysql数据库加载html表
- Javascript:OnChange事件,将数组变量传递给另一个函数
- 如何使select onchange事件在页面加载时发生
- 在onchange事件中,可以传递不是当前控件的参数吗
- OnChange事件未激发
- 此multi-onChange事件是否有效
- 如何在Jasmine/Rect中测试带有范围输入的“onChange”事件
- JSON无法处理OnChange事件
- 为什么我的onchange事件发生在页面加载时,而不是在触发时
- 如何在React's onChange事件
- JS:Onchange事件在启动时激活
- JavaScript onChange 事件侦听器对输入表单不起作用
- 如何在 PHP 中使用 OnChange 事件的下拉列表中选择一个选项后,对大量数据行设置分页
- 如何在jQuery中处理输入类型=文件的onchange事件
- Razor Dropdown onchange事件未触发始终未定义