<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT=""></HEAD><BODY>
<select onpropertychange="alert('the last selected:' + document.all.lastselect.value);document.all.lastselect.value = this.options[this.selectedIndex].text;;">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type=hidden value="1" id="lastselect">
</BODY>
</HTML>

解决方案 »

  1.   

    to: ttyp(愿赌服输) :不好意思,没看懂哦,你好像判断的是这次的选择有没有跟hidden里的数值相等?我现在的情况是:有多个select,有四个hidden,每次选一个就写入hidden中,但如果更改的话,需要把对应的原来写入hidden的值清楚掉,我该怎么知道这个改变的select它上次写入hidden的值是多少呢?
    谢谢你。
      

  2.   

    document.all.lastselect.value = this.options[this.selectedIndex].text;
    就是写本次选的内容啊
    alert('the last selected:' + document.all.lastselect.value)
    提示上次选的内容
      

  3.   

    你这里的上次选择的内容是从hidden里面读取得到的,如果很多个hidden跟很多个select(不是多个option值)的话,这样比较就很烦人。
    请问有没有其他的办法?
      现在我需要的是把上次选中的值从hidden里面清除。
    赫赫,原谅我,我语文水平不好,表达不是很清楚。
    :)
      

  4.   

    不是跟这次选择的比,是上次选择的内容跟hidden里面的内容比,如果有相同的就清楚掉。
      

  5.   

    ttyp(愿赌服输)的是正解啦,是你没看懂.他的意思是在select所在的form里,每一个select填加一个hidden就可以了(他的例子中,初始值是1,你只要改成你select中最方面的option的值就可以了。).onpropertychange我觉得用onchange就可以了.在onchange事件里,执行了两个任务.
    1、alert('the last selected:' + document.all.lastselect.value);
        功能是显示你上一次选择的值,当然了,你第一次选择的时候呢,就会打印hidden的初始值了,这里也就是1了。
    2、document.all.lastselect.value = this.options[this.selectedIndex].text;
        功能是将hidden的值更换成这次选择的,这样就实现了每进行依次选择,就对hidden的值进行更换,所以,你就不用为了一个select填加多个hidden了。
        注意,第一步与第二步的顺序不能改变,否则,就成了显示当前选择的值了。    其实呢,最重要的,就是第二步了,不可以去掉的,至于第一步嘛,他只是告诉你如何来获得上一次选择的值,你完全可以换成这一次选择与上一次选择的值进行比较的代码或者其他什么东西。
      

  6.   

    <select name="select1" onfocus="this.olderValue=this.value" onchange="javaScript:if(!confirm('Are you sure to change?')) this.value=this.olderValue;">
            <option value="0">aaaaaaa</option>
            <option value="1">bbbbbbb</option>
            <option value="2">ccccccc</option>
            <option value="3">ddddddd</option>
            <option value="4">eeeeeee</option>
    </select>
      

  7.   

    多谢 ttyp、mikecheers 、JK_10000 
    :)