js使用DOM设置单选按钮、复选框及下拉菜单的方法

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • js实现不提交表单获取单选按钮值的方法

    本文实例讲述了js实现不提交表单获取单选按钮值的方法.分享给大家供大家参考.具体如下: 这是JS实现的特效,不提交表单获取相关的控件值.如本例所示,不提交表单即可获取单选按钮的值. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-alert-show-table-value-codes/ 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

  • JS获取下拉框显示值和判断单选按钮的方法

    本文实例讲述了JS获取下拉框显示值和判断单选按钮的方法.分享给大家供大家参考.具体如下: 1.本人做过很多项目,都需要得到select组件显示的值.下面是我经常用到的方法: Html源码如下: <html><body> <select id="province" name="province" > <option value="1">北京</option> <option valu

  • js简单获取表单中单选按钮值的方法

    本文实例讲述了js简单获取表单中单选按钮值的方法.分享给大家供大家参考,具体如下: HTML部分如下: <form> <tr bgcolor="#FFFFFF"> <td width="84" height="23" rowspan="3" align="center" valign="middle" bordercolor="#999999&qu

  • js取消单选按钮选中并判断对象是否为空

    一组单选按钮name都为country 复制代码 代码如下: var country = document.getElementsByName('country'); for(var i=0;i<country.length;i++){ if(country[i].checked) { country[i].checked=false; //不选中 } } <c:if test="${shippingAddressList != null && not empty s

  • js获取单选按钮的数据

    也许这是个很简单的问题,可是在我学习程序的时候忽略了单选按钮.导致对于他的数据传递方法的空缺.经过嗷嗷的帮助实现了下面关于年龄选择的表单的数据获取,仅仅在IE下测试成功了.先测试一下这个程序效果. 复制代码 代码如下: <form method="post" name="form1">     <label><input type="radio" name="radio" value="

  • js取消单选按钮选中示例代码

    一组单选按钮name都为country 复制代码 代码如下: var country = document.getElementsByName('country'); for(var i=0;i<country.length;i++){ if(country[i].checked) { country[i].checked=false; //不选中 } }

  • javascript实现点击单选按钮链接转向对应网址的方法

    本文实例讲述了javascript实现点击单选按钮链接转向对应网址的方法.分享给大家供大家参考.具体如下: 这里实现一个按钮特效,当点击复选择框按钮的时候,激活链接,跳转到某网址,这里主要是由onClick派生出来的一些功能,然后配合函数你可以编写出更多的按钮特效来. 运行效果截图如下: 具体代码如下: <html> <head> <title>点击文本框激活链接转向某网址</title> <SCRIPT> function go(loc) {

  • JSP单选按钮验证、下拉框验证、复选框验证实现代码

    //验证性别(单选按钮验证) function checkXb(){ var temp = false; var xbObj1= document.getElementById("xb1"); var xbObj2= document.getElementById("xb2"); if(xbObj1.checked || xbObj2.checked){ temp = true; } return temp; } function checkform() { //验

  • js 父页中的单选按钮取值

    int starvalue = 3; ContentPlaceHolder ch = (ContentPlaceHolder)Master.FindControl("middlecontent"); RadioButton radio = new RadioButton(); for (int i = 1; i <= 5;i++ ) { radio = (RadioButton)ch.FindControl("rblStar" + i); if (radio.

  • javascript 单选按钮 单击选中 双击取消选择实现代码

    单选按钮,双击取消选中 window.onload = function() { // setRadio("myDiv", "form1", "alreadySelected"); var radios = document.getElementsByTagName("input"); for (var i = 0; i A: B: C: D: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

随机推荐