<script language="javascript"> 
    function Test()
    {
      var s=document.getElementById("test");
      var LastSelectedIndex=-1;
      for(var i=0;i<s.options.length;i++)
      {
        if(s.options[i].selected)
          LastSelectedIndex=i;
      }
      if(LastSelectedIndex!=-1)
        alert(s.options[LastSelectedIndex].value);
    }
</script> 
        <select id="test" multiple="multiple">
          <option>请选择菜单</option>
          <option value="test1">test1</option>
          <option value="test2">test2</option>
          <option value="test3">test3</option>
          <option value="test4">test4</option>
        </select>
<input type="button" value="Test" onclick="Test()"/>

解决方案 »

  1.   


    <select id="sl">
       <option>aaa</option>
       <option>bbb</option>
       <option>ccc</option>
    </select>
    <script>
    alert(sl.options[sl.options.length-1].text)
    </script>
      

  2.   

    To showbo:    我是想得到用户最后选中的那项,比如用户先选中item1,然后选中item2,再选中item5,最后选中item3,那么就要得到item3,是这样的个意思。
      

  3.   

    就我所知道的select的事件处理来说不知道怎么搞,除非用div来模拟select.option没有对应的事件处理函数
      

  4.   

    用一個全局變量來保存最後選的那項var lastSelected='no select';
    chk.onselect = function(){
        if(this.selected)
            lastSelected = this.value;
    }
    btn.onselect = function(){
        return lastSelected;
    }
    這樣可以嗎?
      

  5.   


    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html" />
    <script language="JavaScript" type="text/javascript">
    var lastSelected="no select";
    window.onload=function(){
    var chks = document.getElementsByName('d');
    for(var i=0;i<chks.length;i++){
    chks[i].onclick=trackSelect;
    }
    }
    function trackSelect(){
    if(this.checked) lastSelected=this.value;
    }
    function getSelect(){
    var lb=document.getElementById('lastSelected');
    lb.innerHTML=lastSelected;
    }
    </script>
    </head>
    <body>
    <input id="1" type="checkbox" value="dd1" name="d" />chk1
    <input id="2" type="checkbox" value="dd2" name="d" />chk2
    <input id="3" type="checkbox" value="dd3" name="d" />chk3
    <input id="4" type="checkbox" value="dd4" name="d" />chk4
    <button onclick="getSelect();"></button>
    <label id="lastSelected"></label>
    </body>
    </html>
    這樣可以
      

  6.   

    楼上的方法不行,比如:先选1,2,3,然后把2,3点掉,应该文本框出现dd1,然而ls的方法出现dd3
      

  7.   

    帅帅的宝宝必定全部代码,请速给分,谢谢:
    <html>
    <body>
    <form name="f1">
    <input type="checkbox" value="狗1" onclick="a(this)">狗1<br>
    <input type="checkbox" value="狗2" onclick="a(this)">狗2<br>
    <input type="checkbox" value="狗3" onclick="a(this)">狗3<br>
    <input type="checkbox" value="狗4" onclick="a(this)">狗4<br>
    <input type="checkbox" value="狗5" onclick="a(this)">狗5<br>
    <input type="checkbox" value="狗6" onclick="a(this)">狗6<br>
    <input type="checkbox" value="狗7" onclick="a(this)">狗7<br>
    <input type="checkbox" value="狗8" onclick="a(this)">狗8<br>
    <input type="button" value="告诉我最后一项" onclick="b()"><input type="text" name="t1" size="20">
    </form>
    <script>
    Array.prototype.indexOf=function(substr,start){
    var ta,rt,d='\0';
    if(start!=null){ta=this.slice(start);rt=start;}else{ta=this;rt=0;}
    var str=d+ta.join(d)+d,t=str.indexOf(d+substr+d);
    if(t==-1)return -1;rt+=str.slice(0,t).replace(/[^\0]/g,'').length;
    return rt;
    }
    var x = [];
    function a(obj){
        if (obj.checked){
        x.push(obj.value);
        }
    else{
        x.splice(x.indexOf(obj.value),1);
    }  
    }
    function b(){
        if(x[x.length-1] != undefined){
    document.f1.t1.value = x[x.length-1];
        }
        else{
            document.f1.t1.value = "用户没有选择";
        }
    }
    </script>
    </body>
    </html>
      

  8.   

    呵呵~~
    楼上的激动了..多选框到底是checkbox还是select multiple="multiple",有点混了.哈哈~~
      

  9.   

    <body>
    <form>
    <input type="checkbox" name="cb" value="1">Checkbox 1</input>
    <input type="checkbox" name="cb" value="2">Checkbox 2</input>
    <input type="checkbox" name="cb" value="3">Checkbox 3</input>
    <input type="checkbox" name="cb" value="4">Checkbox 4</input>
    <input type="checkbox" name="cb" value="5">Checkbox 5</input>
    <input type="checkbox" name="cb" value="6">Checkbox 6</input><br/>
    Last one: <input type="text" name="lbl" readonly/>
    </form>
    </body>
    <script type="text/javascript">
    var num_cbs=6;
    var cb_show=function(){
    var tmp="None";
    for(var i=0;i<num_cbs;i++)
    if(document.forms[0].cb[i].checked)
    tmp=document.forms[0].cb[i].value;
    document.forms[0].lbl.value=tmp;
    }
    for(var i=0;i<num_cbs;i++)
    document.forms[0].cb[i].onclick=cb_show;
    </script>
      

  10.   

    To:iori_wen 
        大家都是写代码的,干嘛说话这么冲,偶分多的是,你要是写对了,分都给你都没问题,像你这样题目都不看清楚就随便写代码来就说要给分才LJ。最后说下,大家贴出来的代码怎么都变成CheckBox了???我说的是多选框。
           <select id="test" multiple="multiple" size="5">
              <option>请选择菜单</option>
              <option value="test1">test1</option>
              <option value="test2">test2</option>
              <option value="test3">test3</option>
              <option value="test4">test4</option>
            </select>多选的下拉框,比如用户多选了好几项,但是选择的顺序是1,3,2  那么最后选择的项是2,
      

  11.   

    楼上正解 option没事件处理 用select怎么都无法实现的