<script language="javascript" type="text/javascript">
function change(){
alert("dd");
}
function clk(){
var selOption=document.getElementById("select");
selOption.selectedIndex=2;
}
</script>
<body>
<input type="button" onclick="clk()" value="click" />
<select name="select" id="select" onchange="change()">
<option>aa</option>
<option>bb</option>
<option>cc</option>
</select>
</body>
问题:在页面选择能激发改变事件?通过按钮改变被选中项就不能激发事件如何在js代码改变被选中项激发,将激发什么事件呢
function change(){
alert("dd");
}
function clk(){
var selOption=document.getElementById("select");
selOption.selectedIndex=2;
change();
}
</script>
selOption.selectedIndex=2;
后面加上一行
[code=JScriptselOption.onchange()];[/code
来显示触发,这样不管你在onChange()事件中指定任何方法,它都会自动调用了
selOption.selectedIndex=2;
后面加上一行
selOption.onchange();
来显示触发,这样不管你在onChange()事件中指定任何方法,它都会自动调用了
<script type="text/javascript">
function change(){
alert("dd");
}
function clk(){
var selOption=document.getElementById("select");
selOption.selectedIndex=2;
}</script>
<input type="button" onclick="clk()" value="click" />
<select name="select" id="select" onpropertychange="change()">
<option>aa</option>
<option>bb</option>
<option>cc</option>
</select>
<script language="javascript" type="text/javascript">
function clk(){
alert('按钮被点击!');
document.getElementById('btn').click();//这里的click()方法并不会触发onClick()事件(就像selOption.selectedIndex=2并不会触发onChange()事件一样),这种机制其实就是为了避免循环嵌套
}
</script>
你可以看大概的表述,就是当选中项不是通过鼠标或者键盘点击改变的时候是不会触发的。