DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js使用DOM設置單選按鈕、復選框及下拉菜單的方法教程
js使用DOM設置單選按鈕、復選框及下拉菜單的方法教程
編輯:關於JavaScript     

本文實例講述了js使用DOM設置單選按鈕、復選框及下拉菜單的方法。分享給大家供大家參考。具體實現方法如下:

1.設置單選按鈕

單選按鈕在表單中即<input type="radio" />它是一組供用戶選擇的對象,但每次只能選一個。每一個都有checked屬性,當一項選擇為ture時,其它的都變為false.

先貼上一個例子:
代碼如下:<script type="text/javascript">
    function getChoice() {
 var oForm = document.forms["uForm1"];
 var aChoices = oForm.camera;
 for (i = 0; i < aChoices.length; i++) //遍歷整個單選項表
     if (aChoices[i].checked) //如果發現了被選中項則退出
  break;
 alert("相機品牌是:" + aChoices[i].value);
    }

    function setChoice(iNum) {
 var oForm = document.forms["uForm1"];
 oForm.camera[iNum].checked = true;
    }
</script>
<form method="post" name="uForm1" action="addInfo.aspx">
    相機品牌:
    <p>
 <input type="radio" name="camera" id="canon" value="Canon">
 <label for="canon">Canon</label>
    </p>
    <p>
 <input type="radio" name="camera" id="nikon" value="Nikon">
 <label for="nikon">Nikon</label>
    </p>
    <p>
 <input type="radio" name="camera" id="sony" value="Sony" checked>
 <label for="sony">Sony</label>
    </p>
    <p>
 <input type="radio" name="camera" id="olympus" value="Olympus">
 <label for="olympus">Olympus</label>
    </p>
    <p>
 <input type="radio" name="camera" id="samsung" value="Samsung">
 <label for="samsung">Samsung</label>
    </p>
    <p>
 <input type="radio" name="camera" id="pentax" value="Pentax">
 <label for="pentax">Pentax</label>
    </p>
    <p>
 <input type="radio" name="camera" id="others" value="其它">
 <label for="others">others</label>
    </p>
    <p>
 <input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="btn">
    </p>
    <p>
 <input type="button" value="檢測選中對象" onclick="getChoice();">
 <input type="button" value="設置為Canon" onclick="setChoice(0);">
    </p>
</form>

單選按鈕在表單中即<input type="radio" />它是一組供用戶選擇的對象,但每次只能選一個。每一個都有checked屬性,當一項選擇為ture時,其它的都變為false.
從以上代碼中看出,id和name是不同的,一組單選按鈕中它們的name是相同的,只有一個被選中。id則是綁定<label>或者其它選擇作用的。

其中代碼中:檢查被選中對象的代碼是(當某一項的chcked值為ture時,遍歷結束)
代碼如下:var oForm = document.forms["uForm1"];
var aChoices = oForm.camera;
for (i = 0; i < aChoices.length; i++) //遍歷整個單選項表
    if (aChoices[i].checked) //如果發現了被選中項則退出
 break;
alert("相機品牌是:" + aChoices[i].value);

2.設置多選框

與單選按鈕不同,復選框<input type="checkbox" />可以同時選中多個選項進行處理,郵箱中每條郵件之前的復選框就的典型的運用
代碼如下:<script type="text/javascript">
    function checkbox() {
 var str = document.getElementsByName("hobby");
 var objarray = str.length;
 var chestr = "";
 
 for (j = 0; j < objarray; j++) {
     if (str[j].checked == true) {
  chestr += str[j].value + ",";
     }
 }
 if (chestr == "") {
     alert("請先選擇一個愛好~!");
 } else {
     alert("您先擇的是:" + chestr);
 }
    }

    function changeBoxes(action) {
 var oForm = document.forms["myForm1"];
 var oCheckBox = oForm.hobby;       
 for (var i = 0; i < oCheckBox.length; i++) //遍歷每一個選項
     if (action < 0) //反選
  oCheckBox[i].checked = !oCheckBox[i].checked;
     else //action為1是則全選,為0時則全不選
  oCheckBox[i].checked = action;
    }
</script>

<form method="post" name="myForm1" action="addInfo.aspx">
    喜歡做的事:
    <p>
 <input type="checkbox" name="hobby" id="ball" value="ball">
 <label for="ball">打球</label>
    </p>
    <p>
 <input type="checkbox" name="hobby" id="TV" value="TV">
 <label for="TV">看電視</label>
    </p>
    <p>
 <input type="checkbox" name="hobby" id="net" value="net">
 <label for="net">上網</label>
    </p>
    <p>
 <input type="checkbox" name="hobby" id="book" value="book">
 <label for="book">看書</label>
    </p>
    <p>
 <input type="checkbox" name="hobby" id="trip" value="trip">
 <label for="trip">旅游</label>
    </p>
    <p>
 <input type="checkbox" name="hobby" id="music" value="music">
 <label for="music">音樂</label>
    </p>
    <p>
 <input type="checkbox" name="hobby" id="others" value="其它">
 <label for="others">其它</label>
    </p>
    <p>
 <input type="button" value="全選" onclick="changeBoxes(1);" />
 <input type="button" value="全不選" onclick="changeBoxes(0);" />
 <input type="button" value="反選" onclick="changeBoxes(-1);" />
 <input type="button" value="提交"  onclick="checkbox()" />
    </p>
</form>

復選框原理利用checked屬性布爾值進行確定,全選和不全選可以采用0和1的方式傳遞參數。

3.下拉菜單

下拉菜單<select>是比較常用的表單元素。當它的下拉為單選時,和單選按鈕<input type="radio" />功能一樣,當下拉菜單為多選時multiple="multiple時,功能相當復選框,但所占面積遠小於復選框。

下拉菜單的常用屬性:

屬性 說明 length 表示選項<option>個數 selected 布爾值,表示<option>是否被選中 SelectedIndex 被選中選項的序列號,如果沒有選項被選中則為-1,對於多選下拉菜單而言,返回第一個被選中
的序號,從0開始計數 text 選項的文本 value 選項的值 type 下拉菜單的類型,單選返回select-one,多選返回select-multiple options 獲取選項的數組 ,例如:oSelectBox.options[2],表示下拉菜單oSelectBox第三項   
①. 下拉菜單獲取單選值
代碼如下:<script language="javascript">
    function checkSingle() {
 var oForm = document.forms["myForm1"];
 var oSelectBox = oForm.constellation;
 var iChoice = oSelectBox.selectedIndex; //獲取選中項
 alert("您選中了" + oSelectBox.options[iChoice].text);
    }
</script>

<form method="post" name="myForm1">
    <label for="constellation">星座:</label>
    <p>
 <select id="constellation" name="constellation" >
     <option value="Aries" selected="selected">白羊</option>
     <option value="Taurus">金牛</option>
     <option value="Gemini">雙子</option>
     <option value="Cancer">巨蟹</option>
     <option value="Leo">獅子</option>
     <option value="Virgo">處女</option>
     <option value="Libra">天秤</option>
     <option value="Scorpio">天蠍</option>
     <option value="Sagittarius">射手</option>
     <option value="Capricorn">摩羯</option>
     <option value="Aquarius">水瓶</option>
     <option value="Pisces">雙魚</option>
 </select>
    </p>
    <input type="button" onclick="checkSingle()" value="查看選項" />
</form>

②. 下拉菜單為多選時,取值
代碼如下:<script type="text/javascript">
    function checkMultiple() {
 var oForm = document.forms["myForm1"];
 var oSelectBox = oForm.constellation;
 var aChoices = new Array();
 //遍歷整個下拉菜單
 for (var i = 0; i < oSelectBox.options.length; i++)
     if (oSelectBox.options[i].selected) //如果被選中
  aChoices.push(oSelectBox.options[i].text); //壓入到數組中
 alert("您選了:" + aChoices.join()); //輸出結果
    }
</script>

<form method="post" name="myForm1">
 <label for="constellation">星座:</label>
 <p>
     <select id="constellation" name="constellation" multiple="multiple" style="height:180px;">
  <option value="Aries">白羊</option>
  <option value="Taurus">金牛</option>
  <option value="Gemini">雙子</option>
  <option value="Cancer">巨蟹</option>
  <option value="Leo">獅子</option>
  <option value="Virgo">處女</option>
  <option value="Libra">天秤</option>
  <option value="Scorpio">天蠍</option>
  <option value="Sagittarius">射手</option>
  <option value="Capricorn">摩羯</option>
  <option value="Aquarius">水瓶</option>
  <option value="Pisces">雙魚</option>
     </select>
 </p>
 <input type="button" onclick="checkMultiple()" value="查看選項" />
</form>

③. 通用取值(下拉單選和多選的情況)
代碼如下:<script language="javascript">
    function getSelectValue(Box) {
 var oForm = document.forms["myForm1"];
 var oSelectBox = oForm.elements[Box]; //根據參數相應的選擇下拉菜單
 if (oSelectBox.type == "select-one") { //判斷是單選還是多選
     var iChoice = oSelectBox.selectedIndex; //獲取選中項
     alert("單選,您選中了" + oSelectBox.options[iChoice].text);
 } else {
     var aChoices = new Array();
     //遍歷整個下拉菜單
     for (var i = 0; i < oSelectBox.options.length; i++)
  if (oSelectBox.options[i].selected) //如果被選中
      aChoices.push(oSelectBox.options[i].text); //壓入到數組中
     alert("多選,您選了:" + aChoices.join()); //輸出結果
 }
    }
</script>

<form method="post" name="myForm1">
    星座:
    <p>
 <select id="constellation1" name="constellation1">
     <option value="Aries" selected="selected">白羊</option>
     <option value="Taurus">金牛</option>
     <option value="Gemini">雙子</option>
     <option value="Cancer">巨蟹</option>
     <option value="Leo">獅子</option>
     <option value="Virgo">處女</option>
     <option value="Libra">天秤</option>
     <option value="Scorpio">天蠍</option>
     <option value="Sagittarius">射手</option>
     <option value="Capricorn">摩羯</option>
     <option value="Aquarius">水瓶</option>
     <option value="Pisces">雙魚</option>
 </select>
 <input type="button" onclick="getSelectValue('constellation1')" value="查看選項" />
    </p>
    <p>
 <select id="constellation2" name="constellation2" multiple="multiple" style="height:120px;">
     <option value="Aries">白羊</option>
     <option value="Taurus">金牛</option>
     <option value="Gemini">雙子</option>
     <option value="Cancer">巨蟹</option>
     <option value="Leo">獅子</option>
     <option value="Virgo">處女</option>
     <option value="Libra">天秤</option>
     <option value="Scorpio">天蠍</option>
     <option value="Sagittarius">射手</option>
     <option value="Capricorn">摩羯</option>
     <option value="Aquarius">水瓶</option>
     <option value="Pisces">雙魚</option>
 </select>
 <input type="button" onclick="getSelectValue('constellation2')" value="查看選項" />
    </p>
</form>

希望本文所述對大家的javascript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved