javascript操作Select標記中options集合

jsjqjy發表於2009-07-29

 

//為了不誤導 人。自己更新了下這個文章,希望對自己或者其他人有幫助

 

var selectObj = $("selectOne");  //取出一個select 物件

//獲取當前選定的option索引 

selectObj .selectedIndex;

//取出第 i 個option的text 和 value 

 selectObj.options[i].text        
 selectObj.options[i].value
 
//初始化 selectObj物件 
selectObj .length = 0;
for(var i=0;i<...){
 selectObj .options[selectObj .length] = new  Option(text, value);
}
//上面的新增 Option 物件 的方式 相容 IE 和 FF 

  

 

注意到上面建立option項時,使用了Option()建構函式,這個建構函式有兩個版本的過載。
1、var option = new Option(text,value); //這裡要大寫Option()
2、var option = new Option();
       option.text = text;
       option.value=value;
我個人比較喜歡第一種方法來建立option物件。
另外,select標記還有一個比較有用的屬性就是selectedIndex,通過它可能獲取當前選擇的option索引,或通過索引設定指定options集合中哪一項被選擇。
   select.selctedIndex = select.options.length-1; //將options集合中最後一項選中
   var selectedItem = select.options(select.selectedIndex);//獲取當前選中項
   selectedItem.text; //選中項的文字
   selectedItem.value; //選中項的值

                                                                                                                 ----------作者: Kensonwang

程式碼下載:

由於作者的某些地方不支援FF,  例如移除一個  Option 物件 : 原來是colls.remove(i); colls 為儲存options的陣列

在FF下,我修改為 $("SelectBox").remove(index);這個是我檢視了DHTML文件,發現 Option物件沒有 remove

方法,所以需要修改!

相關文章