DOM(十)使用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第三项
   

i.下拉菜单获取单选值

<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>

ii.下拉菜单为多选时,取值

<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>

iii.通用取值(下拉单选和多选的情况)

<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>

时间: 2024-10-13 15:08:12

DOM(十)使用DOM设置单选按钮、复选框、下拉菜单的相关文章

纯CSS设置Checkbox复选框控件的样式

下面是纯CSS设置Checkbox复选框控件的五种简单样式,有兴趣的可以进行改动将其变成自己想要的样式. 首先,需要添加一段CSS隐藏所有的Checkbox复选框,下面我们会改变它的外观.要做到点需要添加一段代码到你的CSS文件中. 隐藏掉所有的Checkbox复选框后,我们需要添加一个label HTML元素,我们都知道,当点击的有for属性的label标签时,对应的Checkbox复选框会被选中.这意味着,我们可以通过label的点击事件来处理我们的Checkbox复选框. 样式一 此复选框

转 纯CSS设置Checkbox复选框控件的样式

Checkbox复选框是一个可能每一个网站都在使用的HTML元素,但大多数人并不给它们设置样式,所以在绝大多数网站它们看起来是一样的.为什么不把你的网站中的Checkbox设置一个与众不同的样式,甚至可以让它看起来一点也不像复选框. 在本教程中,我们将创建5个不同的选择框,你可以在你的网站上使用它. css-style-checkboxes 查看演示,可以看到我们将要创建的复选框样式. 演示地址 首先,需要添加一段CSS隐藏所有的Checkbox复选框,下面我们会改变它的外观.要做到点需要添加一

【转】纯CSS设置Checkbox复选框控件的样式

Checkbox复选框是一个可能每一个网站都在使用的HTML元素,但大多数人并不给它们设置样式,所以在绝大多数网站它们看起来是一样的.为什么不把你的网站中的Checkbox设置一个与众不同的样式,甚至可以让它看起来一点也不像复选框. 在本教程中,我们将创建5个不同的选择框,你可以在你的网站上使用它. css-style-checkboxes 查看演示,可以看到我们将要创建的复选框样式. 演示地址 首先,需要添加一段CSS隐藏所有的Checkbox复选框,下面我们会改变它的外观.要做到点需要添加一

css 设置 checkbox复选框控件的对勾√样式

最终的样式,想要的效果: 我们要创建方框中的对勾,对于这一点,我们可以使用:after伪类创建一个新的元素,为了实现这个样式,我们可以创建一个5px * 15px的长方形并给他加上边框.这时候我们去掉上面和右边的边框之后,它会看起来像一个字母L.然后我们可以使用CSS的transform属性让它旋转一下,这样看起来就像是一个对勾. <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu

Bootstrap入门(十)组件4:按钮组与下拉菜单结合

先引入本地的CSS文件和JS文件(注:1.bootstrap是需要jQuery支持的.2.需要在<body>当中添加) <link href="css/bootstrap.min.css" rel="stylesheet"> <script src="jquery-3.1.0.min.js" type="text/javascript"></script> <script

Python3 tkinter基础 Menu add_checkbutton 多选的下拉菜单

? ???????Python : 3.7.0 ?????????OS : Ubuntu 18.04.1 LTS ????????IDE : PyCharm 2018.2.4 ??????Conda : 4.5.11 ???typesetting : Markdown ? code """ @Author : 行初心 @Date : 18-9-30 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/zhichengji

JS实现带复选框的下拉菜单

这段时间在做后台的时候需要一个可以复选的下拉菜单,用到的是easyUI中的combo的Demo,先看看官方easyUI:http://www.jeasyui.com/documentation/index.php# ----------------------------------------------------------------------------------------------------------------------------------------------

jQuery分别获取选中的复选框值

function jqchk(){  //jquery获取复选框值   var s='';   $('input[name="aihao"]:checked').each(function(){     s+=$(this).val()+',';   }); 点击“提交”后,可以得到正确的选择值了,但是后面多一个,(英文逗号),这个可以检测一下再用substring去除,或者获取到复选框选择值后一般都要转成数组再使用的,所以也可以在转成数组后,去除最后一个数组元素. if (s.len

jQuery应用操作之---复选框

1.示例1: <form> 你最爱好的运动是? <input type="checkbox" id="CheckedAll"/>全选<br/> <input type="checkbox" id="CheckedNo"/>全不选<br/> <input type="checkbox" id="CheckedRev"/>

AxureRP7.0基础教程系列 部件详解 Check Box 复选框

原型库网站-讲师金乌原创发布,可自由转载,请注明出处! Axure中文官网:www.AxureRP.cn   <AxureRP7.0部件详解> Check Box 复选框 常用案例 作为附加选项 复选框经常用来允许用户添加一个或多个附加选项. 选择多个选项 在这个例子中,有多个选项可以选择.新手容易和单选按钮搞混淆,单选按钮只能选择一个. 编辑复选框要将复选框默认设置为勾选,可以在设计区域单击复选框或者右键选择选中.复选框可以通过用例编辑器中的动作设置为选择/选中进行动态设置. 对齐方式 默认