怎么不改变下拉选项也触发onchange?
如果下拉的选项选择在同一个的时候,不会触发onchange,有什么办法能探测到下拉的改变(同一个选项也算改变)onpropertychange似乎太严格了,不符合我的要求! 问题点数:100、回复次数:14Top
1 楼leo963258(我劝天公重抖擞,不拘一格降人才)回复于 2005-06-01 21:18:50 得分 1
onclickTop
2 楼net_lover(【孟子E章】)回复于 2005-06-01 21:21:51 得分 10
你最好在执行onchange后执行一次把第一个选项选择上,例如
<select onchange=a(this)>
<option>--请选择
<option>a
<option>b
</select>
<script>
function a(x)
{
//执行你的操作
alert(x.options[x.selectedIndex].text)
x.options[0].selected=true
}
</script>Top
3 楼yesun(呆子鱼)回复于 2005-06-01 21:23:35 得分 0
onclick不行吧。选择还没有完成呢。
那根本就不用选了啊。点了就被触发了
我要的是选择完成,无论下拉被选择了什么都触发的事件有没有?
onchange就是当选择一样的时候没有触发Top
4 楼yesun(呆子鱼)回复于 2005-06-01 21:31:48 得分 0
多谢孟子E章的指点,但我不需要再选择第一项,否则这个下拉就没有意义了。
有没有onblur和onchange的合并的?Top
5 楼leo963258(我劝天公重抖擞,不拘一格降人才)回复于 2005-06-02 08:17:18 得分 1
onmouseout
Top
6 楼bflovesnow()回复于 2005-06-02 08:59:13 得分 10
<select onclick = "clk()">
<option>111111
<option>222222
<option>333333
<option>444444
</select>
<script>
var b = false;
function clk()
{
if(b)
{
alert('changed');
}
b = !b;
}
</script>
这样试了试,但发现如果选项不改变,连 click 事件也不行的......Top
7 楼yc_hgl(yc_hgl)回复于 2005-06-02 09:16:31 得分 1
我也存在这个问题,请教大家。
Top
8 楼mikespook(CSDN == 吹死大牛)回复于 2005-06-02 09:30:39 得分 15
<script language="JavaScript">
var flag;
</script>
<select name="select" onChange="javascript:window.alert('c');flag = false;" onBlur="javascript:window.alert('s');flag = true;}">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
这样,由于onBlur先于onChange触发,所以当选择不变时flag值为true,选择变化时flag值为falseTop
9 楼yesun(呆子鱼)回复于 2005-06-02 21:02:37 得分 0
<script language="JavaScript">
var flag;
</script>
<select name="select" onChange="javascript:window.alert('onChange');flag = false;" onBlur="javascript:window.alert('onBlur');flag = true;">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
怎么我觉得触发onChange的时候连onBlur也触发了Top
10 楼springwood(background-color:white)回复于 2005-06-02 21:18:11 得分 0
设置一个隐藏的selectTop
11 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-06-03 09:22:00 得分 20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
var flag;
</script>
<select name="select" onblur="if(flag==true)javascript:window.alert(this.value);flag = false;" onClick="flag = true;">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</BODY>
</HTML>Top
12 楼king2410(<职位空缺>→("︶.︶メ)( ̄ε ̄メ)←什么都不懂)回复于 2005-06-03 09:50:34 得分 2
楼上的方法可行Top
13 楼springwood(background-color:white)回复于 2005-06-03 11:50:29 得分 40
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
function test() {
if (document.all["hidSel"].selectedIndex == 0) {
document.all["hidSel"].selectedIndex = 1;
} else {
document.all["hidSel"].selectedIndex = 0;
}
if (document.all["hidSel"].selectedIndex == 0) {
alert(111);
}
}
</script>
<select name="select" onclick="test()" id = "Sel">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<select style="display:none" id="hidSel">
<option value="1" selected>1</option>
<option value="2" >2</option>
</BODY>
</HTML>
Top
14 楼springwood(background-color:white)回复于 2005-06-03 11:51:32 得分 0
试试吧,应该能满足你的要求Top




