2012-01-11 8 views
1

私は今この仕事をしようとする試みに多くの試みがあったし、私は何をすべきか分からない.selectedIndexメソッドを使用した。しかし、まだ運がない、私は自分のタグの配列を作成し、それらを並べ替えるが、私は "オプションを選択してください"デフォルトのオプションにしたいと思います。ここに私のコードです:)ソート順にJavascriptでデフォルトの<option>を作成するにはどうすればよいですか?

  function sorting() 
     { 
      var mylist = document.getElementById("dropdown"); 
      arritems = new Array(); 
      for(i=0; i<mylist.length; i++) 
      { 
       arritems[i] = mylist.options[i].text; 

      } 

      arritems.sort(); 

      for(var i=0; i<mylist.length; i++) 
      { 
       mylist.options[i].text = arritems[i]; 
       mylist.options[i].value = arritems[i]; 
      } 

     } 

ここに私のHTMLコードは次のとおりです。

<form id="form"action = "#"> 
      <label>First Name: </label> <input type="text" id="firstname" /> <br /> 
      <label>Last Name: </label> <input type="text" id="lastname" /> <br /> 
      Please select an option: <select id="dropdown"> 
      <option id="please select" value="Please select an option" selected="selected">Please select an option</option> 
      <option id="boots" value="Boots" >Boots</option> 
      <option id="gloves" value="Gloves" >Gloves</option> 
      <option id="scarf" value="Scarf">Scarf</option> 
      <option id="hat" value="Hat">Hat</option> 
      <option id="glasses" value="Glasses">Glasses</option> 
      </select> <br /> 
      <button id="submits" onclick="table();">Submit</button> 
     </form> 

答えて

1

試してみてください。

// get a handle to thedropdown 
var select = document.getElementById('dropdown'), sorted; 
if (select) { 
    // sort an array-copy of the options (exluding the first) by their text value 
    sorted = Array.prototype.slice.call(select.getElementsByTagName('option'), 1).sort(function (a, b) { 
    return a.innerText.localeCompare(b.innerText); 
    }); 

    // flush 'sorted' while re-appending the dom-nodes 
    while(sorted.length > 0) { 
    select.appendChild(sorted.shift()); 
    } 
} 

http://jsfiddle.net/dJqLL/

+0

おかげで、このコードは、私が思ったことはありません、私のために御馳走を働きましたDOMを使ったり、スライスメソッドを使って配列の一部を選んだりする:thanks soo much。 – user1142894

+0

@ user1142894ようこそ。) – Yoshi

関連する問題