JavaScript操作checkbox复选框

JavaScript操作checkbox的方式和操作radio的方式相似,都是利用元素项的checked属性来完成。先获取checkbox元素集合,遍历集合,对集合中的每一项做操作。 这里讲几个常用的checkbox复选框的常见示例。 取值 body p label for=hobbyHobby: input type=checkb
JavaScript操作checkbox的方式和操作radio的方式相似,都是利用元素项的checked属性来完成。先获取checkbox元素集合,遍历集合,对集合中的每一项做操作。
 
 
这里讲几个常用的checkbox复选框的常见示例。
 
 
取值
 
<body>  
    <p>  
        <label for="hobby">Hobby:    
            <input type="checkbox" name="hobby" value="reading" />阅读    
            <input type="checkbox" name="hobby" value="climbing" />爬山    
            <input type="checkbox" name="hobby" value="running" />跑步    
            <input type="checkbox" name="hobby" value="fishing" />钓鱼    
            <input type="checkbox" name="hobby" value="cooking" />做饭    
            </br></br>  
            <input type="button" value="Get Value" onclick="getValue()" />  
        </label>  
    </p>  
</body>  
 
 要获取多选框的值,该怎么处理呢?
 
 
跟获取radio单选按钮值的步骤相同。
 
 
1 获取复选框元素集合
 
2 遍历复选框元素
 
3 将选中的复选框的值拼接出来,返回
 
function getValue(){  
    var hobbies = document.getElementsByName("hobby");  
    var value;  
    for (i=0; i<hobbies.length; i++){  
        if (hobbies[i].checked){  
            if (!value){  
                value = hobbies[i].value;  
            } else {  
                value += "," + hobbies[i].value;  
            }  
        }  
    }  
      
    alert(value == undefined ? '' : value);  
}  
这里我们将复选框值拼接出来,之间用“,”分隔,返回的时候,如果没有选中,则返回空字符串,而非JavaScript的默认空值undefined。
 
 
全选
 
全选是复选框中常见的一个操作,选中所有的选项。
 
全选也是基于checked属性的操作,遍历所有的元素项,将每一个元素项的checked属性都置为true。
 
<body>  
    <p>  
        <label for="hobby">Hobby:    
            <input type="button" name="selectAll" value="selectAll" onclick="selectAll()" />全选    
            <input type="button" name="selectOther" value="selectOther" onclick="selectOther()" />反选  
            </br></br>  
            <input type="checkbox" name="hobby" value="reading" />阅读    
            <input type="checkbox" name="hobby" value="climbing" />爬山    
            <input type="checkbox" name="hobby" value="running" />跑步    
            <input type="checkbox" name="hobby" value="fishing" />钓鱼    
            <input type="checkbox" name="hobby" value="cooking" />做饭    
            </br></br>  
            <input type="button" value="Get Value" onclick="getValue()" />  
        </label>  
    </p>  
</body>  
 全选时,首先需要判断当前复选框是否处于全选的状态,然后再适时的全选,或全不选。
 
 
判断是否处于全选状态:true,全选;false,非全选
 
function isSelectAll(){  
    var hobbies = document.getElementsByName("hobby");  
    for (i=0; i<hobbies.length; i++){  
        if (!hobbies[i].checked){  
            return false;  
        }  
    }  
    return true;  
}  
 
全选操作
 
function selectAll(){  
    var hobbies = document.getElementsByName("hobby");  
    if (isSelectAll()){  
        for (i=0; i<hobbies.length; i++){  
            hobbies[i].checked = false;  
        }  
    } else {  
        for (i=0; i<hobbies.length; i++){  
            hobbies[i].checked = true;  
        }  
    }  
}  
 
 
反选
 
反选的操作即选中那些当前没有被选中的项,并将当前选中的项取消。
 
function selectOther(){  
    var hobbies = document.getElementsByName("hobby");  
    for (i=0; i<hobbies.length; i++){  
        if (hobbies[i].checked){  
            hobbies[i].checked = false;  
        } else {  
            hobbies[i].checked = true;  
        }  
    }  
}  
 
上面几个例子,都是本人今天没事写的玩的,里面可能有些操作不是很符合客户体验,如果您有更好的方案,可以提出来。但就通过上面的示例,应该能很好的理解checkbox了吧。
 
 
其实 checkbox和radio一样,都是基于checked属性,对它们的操作就是对checked属性的操作,技术checked属性就可以了。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:前台加载出前端页面: HTML: lay-data={width:800,height:400, url:data.php, page:true, id:test} js: layui.use(table,function(){var table=layui.table}) 表头加载下就行了主要讲解下对接数据库和返回对象的操作。 二:先连接数据库 header(Conten
本文实例讲述了PHP+MySQL删除操作的使用技巧。分享给大家供大家参考。具体如下: 代码如下: h1删除记录/h1 ?php //连接数据库的参数 $host = localhost; $user = root; $pass = zq19890319; $db = phpdev; //创建mysqli对象 //打开一个数据库连接 $mysqli =
目的 实现在 html 界面修改购物车的件数,购物车商品价格的小计和总计要修改。 实现思路 1.当点击进入界面,刷新的时候触发 body 内的 onload= 方法,跳转到 JS 代码。这样做的原因是在 数据库 内我们只会存储某客户的准备购买的商品件数,而不会存储每类商
上线至今差不多有两个年头了。随着网站不断发展,人气和访问的增加,目前所用的虚拟主机显得有些吃力了,所以最近想入手阿里云服务器,进入阿里云服务器购买页面看到
习惯了jQuery选择的方便,偶而遇到纯javascript前端的时候才发现选择某样式的元素也变的不简单,网上查了下document.getElementsByClassName这个方法好象可以直接获取样式元素,ie6没有测试是
一直对javascript对象的概念不清楚,对象里面的什么静态方法、实例方法就更晕了。今天稍微有空再次看了一下关于javascript对象方面的知识,把自己理解的记录以下,主要是两种方法的