select元素與option元素
select物件就是<select>,其中disabled、form、name、tabIndex、type、value等屬性和input物件相同。名稱 | 說明 |
---|---|
length | 取得共有多少<option> |
multiple | 設定或取得選擇是否複選,true為多選 |
options | 取得option物件集合,這是一個Array |
selectedIndex | 傳回選擇的選項index值,這是options的Index值 |
size | 設定欄位為下接式或清單,size大於1是清單方塊 |
text | 選項名稱 |
type | select類型,單選傳回select-one,複選select-multiple |
- options 陣列的index由0開始。例如,SB.options[2]表示<select>中的第3項。
- selectedIndex,例如,SB.options[selectedIndex].value;
名稱 | 說明 |
---|---|
text | 存取選擇文字 |
defaultSelected | option預設選項,即selected屬性 |
index | option陣列index位置,以0開始 |
label | 設定或取得選項說明文字 |
selected | 是否被選取,true為選取 |
取得<select>選取值
function getSelectValue(selectName){ var objForm = document.forms["form1"]; //取得對應的select var SB = document.elements[selectName]; if (SB.type = "select-one") { //單選 var Choice = SB.selectedIndex; alert("Your Choice" + SB.options[Choice].text); } else { //複選 var Choice = new Array; for (var i=0,len=SB.options.length; i<len;i++){ if (SB.options[i].selected) Choice.push(SB.options[i].text); } alert("Your Choice" + Choice.join()); } }
新增、替代、刪除<option>
使用Option()建構式直接新增,例如,var addOption = new Option(text, value, defaultSelected, selected);
defaultSelected與selected預設為0(false),可不設定。通常會將<select>清單的length直接設定為新選項,即最後一項。例如,
SB.options[SB.options.length] = addOption;
將以上程式為一支副程式,
function addOption(selectName, optionIndex) { var objForm = document.forms["form1"]; var SB = objForm.elements[selectName]; var addOP = new Option("金剛", "King Kong"); //處理IE相容性 //先新增,再移動到指定Index SB.options[SB.options.length] = addOP; SB.insertBefore(addOP, SB.options[optionIndex]); }
替代,取代某一置位(index)的option,例如,
SB.options[selectIndex] = addOption;
刪除,刪除某一置位(index)的option,例如,
// 設定某一index為null即刪除 SB.options[selectIndex] = null;
將以上程式整理成一支副程式,
function removeOption(selectName, optionIndex){ var objForm = document.forms["form1"]; var SB = objForm.elements[selectName]; SB.options[optionIndex] = null; }
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。