js使用DOM設(shè)置單選按鈕、復(fù)選框及下拉菜單的方法
本文實(shí)例講述了js使用DOM設(shè)置單選按鈕、復(fù)選框及下拉菜單的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
1.設(shè)置單選按鈕
單選按鈕在表單中即<input type="radio" />它是一組供用戶選擇的對(duì)象,但每次只能選一個(gè)。每一個(gè)都有checked屬性,當(dāng)一項(xiàng)選擇為ture時(shí),其它的都變?yōu)閒alse.
先貼上一個(gè)例子:
function getChoice() {
var oForm = document.forms["uForm1"];
var aChoices = oForm.camera;
for (i = 0; i < aChoices.length; i++) //遍歷整個(gè)單選項(xiàng)表
if (aChoices[i].checked) //如果發(fā)現(xiàn)了被選中項(xiàng)則退出
break;
alert("相機(jī)品牌是:" + 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">
相機(jī)品牌:
<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="檢測選中對(duì)象" onclick="getChoice();">
<input type="button" value="設(shè)置為Canon" onclick="setChoice(0);">
</p>
</form>
單選按鈕在表單中即<input type="radio" />它是一組供用戶選擇的對(duì)象,但每次只能選一個(gè)。每一個(gè)都有checked屬性,當(dāng)一項(xiàng)選擇為ture時(shí),其它的都變?yōu)閒alse.
從以上代碼中看出,id和name是不同的,一組單選按鈕中它們的name是相同的,只有一個(gè)被選中。id則是綁定<label>或者其它選擇作用的。
其中代碼中:檢查被選中對(duì)象的代碼是(當(dāng)某一項(xiàng)的chcked值為ture時(shí),遍歷結(jié)束)
var aChoices = oForm.camera;
for (i = 0; i < aChoices.length; i++) //遍歷整個(gè)單選項(xiàng)表
if (aChoices[i].checked) //如果發(fā)現(xiàn)了被選中項(xiàng)則退出
break;
alert("相機(jī)品牌是:" + aChoices[i].value);
2.設(shè)置多選框
與單選按鈕不同,復(fù)選框<input type="checkbox" />可以同時(shí)選中多個(gè)選項(xiàng)進(jìn)行處理,郵箱中每條郵件之前的復(fù)選框就的典型的運(yùn)用
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("請(qǐng)先選擇一個(gè)愛好~!");
} else {
alert("您先擇的是:" + chestr);
}
}
function changeBoxes(action) {
var oForm = document.forms["myForm1"];
var oCheckBox = oForm.hobby;
for (var i = 0; i < oCheckBox.length; i++) //遍歷每一個(gè)選項(xiàng)
if (action < 0) //反選
oCheckBox[i].checked = !oCheckBox[i].checked;
else //action為1是則全選,為0時(shí)則全不選
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">上網(wǎng)</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>
復(fù)選框原理利用checked屬性布爾值進(jìn)行確定,全選和不全選可以采用0和1的方式傳遞參數(shù)。
3.下拉菜單
下拉菜單<select>是比較常用的表單元素。當(dāng)它的下拉為單選時(shí),和單選按鈕<input type="radio" />功能一樣,當(dāng)下拉菜單為多選時(shí)multiple="multiple時(shí),功能相當(dāng)復(fù)選框,但所占面積遠(yuǎn)小于復(fù)選框。
下拉菜單的常用屬性:
屬性 | 說明 |
length | 表示選項(xiàng)<option>個(gè)數(shù) |
selected | 布爾值,表示<option>是否被選中 |
SelectedIndex | 被選中選項(xiàng)的序列號(hào),如果沒有選項(xiàng)被選中則為-1,對(duì)于多選下拉菜單而言,返回第一個(gè)被選中 的序號(hào),從0開始計(jì)數(shù) |
text | 選項(xiàng)的文本 |
value | 選項(xiàng)的值 |
type | 下拉菜單的類型,單選返回select-one,多選返回select-multiple |
options | 獲取選項(xiàng)的數(shù)組 ,例如:oSelectBox.options[2],表示下拉菜單oSelectBox第三項(xiàng) |
①. 下拉菜單獲取單選值
function checkSingle() {
var oForm = document.forms["myForm1"];
var oSelectBox = oForm.constellation;
var iChoice = oSelectBox.selectedIndex; //獲取選中項(xiàng)
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="查看選項(xiàng)" />
</form>
②. 下拉菜單為多選時(shí),取值
function checkMultiple() {
var oForm = document.forms["myForm1"];
var oSelectBox = oForm.constellation;
var aChoices = new Array();
//遍歷整個(gè)下拉菜單
for (var i = 0; i < oSelectBox.options.length; i++)
if (oSelectBox.options[i].selected) //如果被選中
aChoices.push(oSelectBox.options[i].text); //壓入到數(shù)組中
alert("您選了:" + aChoices.join()); //輸出結(jié)果
}
</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="查看選項(xiàng)" />
</form>
③. 通用取值(下拉單選和多選的情況)
function getSelectValue(Box) {
var oForm = document.forms["myForm1"];
var oSelectBox = oForm.elements[Box]; //根據(jù)參數(shù)相應(yīng)的選擇下拉菜單
if (oSelectBox.type == "select-one") { //判斷是單選還是多選
var iChoice = oSelectBox.selectedIndex; //獲取選中項(xiàng)
alert("單選,您選中了" + oSelectBox.options[iChoice].text);
} else {
var aChoices = new Array();
//遍歷整個(gè)下拉菜單
for (var i = 0; i < oSelectBox.options.length; i++)
if (oSelectBox.options[i].selected) //如果被選中
aChoices.push(oSelectBox.options[i].text); //壓入到數(shù)組中
alert("多選,您選了:" + aChoices.join()); //輸出結(jié)果
}
}
</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="查看選項(xiàng)" />
</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="查看選項(xiàng)" />
</p>
</form>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- js獲取單選按鈕的數(shù)據(jù)
- js簡單獲取表單中單選按鈕值的方法
- JSP單選按鈕驗(yàn)證、下拉框驗(yàn)證、復(fù)選框驗(yàn)證實(shí)現(xiàn)代碼
- Vue.js表單標(biāo)簽中的單選按鈕、復(fù)選按鈕和下拉列表的取值問題
- js取消單選按鈕選中示例代碼
- javascript 單選按鈕 單擊選中 雙擊取消選擇實(shí)現(xiàn)代碼
- JavaScript實(shí)現(xiàn)點(diǎn)擊單選按鈕改變輸入框中文本域內(nèi)容的方法
- js實(shí)現(xiàn)不提交表單獲取單選按鈕值的方法
- JS獲取下拉框顯示值和判斷單選按鈕的方法
- js布局實(shí)現(xiàn)單選按鈕控件
相關(guān)文章
詳解WordPress開發(fā)中g(shù)et_current_screen()函數(shù)的使用
這篇文章主要介紹了WordPress開發(fā)中g(shù)et_current_screen()函數(shù)的使用,get_current_screen()通常在對(duì)象的實(shí)例化時(shí)使用,需要的朋友可以參考下2016-01-01js使用oclif開發(fā)命令行工具實(shí)現(xiàn)批量修改文件名
前端開發(fā)工作中常用的很多CLI命令相信大家已經(jīng)很熟悉了,很方便很實(shí)用,能夠快速幫助你創(chuàng)建項(xiàng)目,快速執(zhí)行某些重復(fù)性操作,下面我們就來學(xué)習(xí)一下如何使用CLI命令批量修改文件名吧2023-12-12uniapp存儲(chǔ)數(shù)據(jù)到本地文件及讀取本地文件數(shù)據(jù)代碼示例
這篇文章主要給大家介紹了關(guān)于uniapp存儲(chǔ)數(shù)據(jù)到本地文件及讀取本地文件數(shù)據(jù)的相關(guān)資料,在開發(fā)uniapp應(yīng)用時(shí),我們常常需要使用本地存儲(chǔ)來保存一些數(shù)據(jù),比如用戶登錄信息、設(shè)置項(xiàng)等,本文通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09微信小程序獲取驗(yàn)證碼60秒倒計(jì)時(shí)功能
這篇文章主要介紹了微信小程序獲取驗(yàn)證碼60秒倒計(jì)時(shí)模板,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04跨瀏覽器的 mouseenter mouseleave 以及 compareDocumentPosition的使用說明
昨天去 大牛 司徒正美 的blog 看博文 突然看到 關(guān)于 onmouseenter 和onmouseleave 兩個(gè)ie專有事件..2010-05-05javascript基礎(chǔ)進(jìn)階_深入剖析執(zhí)行環(huán)境及作用域鏈
下面小編就為大家?guī)硪黄猨avascript基礎(chǔ)進(jìn)階_深入剖析執(zhí)行環(huán)境及作用域鏈。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09