<html>
  <head>
    <script type="text/javascript">
         function change(menuObj){
             var i=menuObj.selectedIndex;
                //如何得到change 前的menuObj.selectedIndex?
         }
    </script>
   </head>
  <body>
<form>
<select onchange="change(this)">
<option selected>select option</option>
<option value="1" id="option1">option1</option>
<option value="2" id="option2">option2</option>
<option value="3" id="option3">option3</option>
</select>
       </form>
  </body>
</html>

解决方案 »

  1.   

    自定义属性来记录
    <script type="text/javascript">
    window.attachEvent("onload", function() {
    var slcs = document.getElementsByTagName("SELECT");
    for (var i=0; i<slcs.length; i++) {
    var a = document.createAttribute("last")
    a.value = slcs[i].selectedIndex;
    slcs[i].setAttributeNode(a);
    a = document.createAttribute("current")
    a.value = slcs[i].selectedIndex;
    slcs[i].setAttributeNode(a);
    }
    });
    function chgAction(slc) {
    slc.setAttribute("last", slc.getAttribute("current"));
    slc.setAttribute("current", slc.selectedIndex);
    }
    function change(menuObj) {
    chgAction(menuObj);
    var i = menuObj.selectedIndex;
    var l = menuObj.getAttribute("last"); alert("当前 selectedIndex: " + i + "\n" +
    "上次 selectedIndex: " + l);
    }
    </script>
    <select onchange="JavaScript: change(this);">
    <option value="1">a</option>
    <option value="2">b</option>
    <option value="3" selected="selected">c</option>
    </select>
      

  2.   

    var oldIndex;
    function change(menuObj){
    var i=menuObj.selectedIndex;
    if(oldIndex != null)
    {
      alert(oldIndex);
    }
    oldIndex = i;                               
    }
    </script>