<html><head><title>New Page 1</title>
</head><body onload="alert(f1.d1.length)"><form name=f1 method="POST" action="">
 
  <p><select size="1" name="d1">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select></p>
</form></body></html>

解决方案 »

  1.   

    明确地说应当是
    f1.d1.options.length
      

  2.   

    如果只想單獨知道數量可以這樣
    <input type="button" onclick="getLength()">
      <select id="s1" size="4" multiple>
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
        <option value="d">d</option>
      </select>
    <script>
    function getLength(){
      var s = s1.innerHTML;
      alert((s.length - s.replace(/selected/gi,"").length) / 8)
    }
    </script>
      

  3.   

    好像没有现成的好办法,只有像你题目中的一样,用循环,我也是这么做的!
    var q=new Array();
    for(t=0;t<selectID.length;t++)
    if(selectID.options[t].selected)q[q.length]=t;;alert("有"+q.length+"各被选中;序号依次为"+q.toString());
      

  4.   

    sorry 
    你用的是M-select吧
    那就只能用循环了