jquery不同版本导致的checkbox设置了属性,但是没有选中效果
由于本人好久不做B/S了,今天同学问我个问题才发现了jquery版本还是存在差异的,今天写的就是关于获取checkbox属性的方式(可能不应该叫属性了其实,后面就知道了)。
看下面的代码截图吧
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title> <script type="text/javascript" src="jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(function(){
$(".l-checkbox").click(function(){
var c=$("#box").attr("checked");
alert(c);
if(c)
{
$(this).parent().children("input").removeAttr("checked");
}
else{
$(this).parent().children("input").attr("checked","checked");
}
});
});
</script> <style>
/**
* 隐藏默认的checkbox
*/
input[type=checkbox]
{
visibility: hidden;
}
.item_checkbox
{
margin-top: 30px;
margin-left: 30px;
margin-right: 30px;
width: 30px;
height: 30px;
background: #ddd;
border-radius: 100%;
position: relative;
border: 1px solid #b9b9b9;
}
.item_checkbox label
{
display: block;
width: 30px;
height: 30px;
border-radius: 100px;
cursor: pointer;
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
background: #FFFFFF;
}
.item_checkbox input[type=checkbox]:checked + label
{
background: red;
border-radius: 100%;
}
</style>
</head>
<body>
<div class="item_checkbox fl">
<input type="checkbox" value="1" id="box" name="" />
<label class="l-checkbox" value="ssss">
</label>
</div>
</body>
</html>
最初是通过$("#box").attr("checked");方式获取值,并且肯定会通过$("#box").attr("checked","checked");方式设置它的值。OK,打开页面第一次选中、取消很完美实现效果。然后到了第二次的时候有一点不完美,但是比较神奇。因为通过调试F12,属性已经设置到了控件上面,但是就是没有选中的效果。
进入到正题了,开始解决神奇的问题。
我在网上查资料看到了下面这段话,于是就明白了所谓的jquery版本不同造成的个别差异:

看完都会解决问题了,所以我就不多说了。通过$("#box").prop("checked")获取到属性的值,通过$("input").prop({checked:false}); 方式进行设置值就好了。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="css/jquery.dialogbox.css" />
<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="js/jquery.dialogBox.js" ></script>
<script type="text/javascript">
$(function(){
$(".l-checkbox").click(function(){
if($("#box").prop("checked"))
{
$("input").prop({checked:false});
}
else{
$("input").prop({checked:true});
}
});
});
</script> <style>
/**
* 隐藏默认的checkbox
*/
input[type=checkbox]
{
visibility: hidden;
}
.item_checkbox
{
margin-top: 30px;
margin-left: 30px;
margin-right: 30px;
width: 30px;
height: 30px;
background: #ddd;
border-radius: 100%;
position: relative;
border: 1px solid #b9b9b9;
}
.item_checkbox label
{
display: block;
width: 30px;
height: 30px;
border-radius: 100px;
cursor: pointer;
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
background: #FFFFFF;
}
.item_checkbox input[type=checkbox]:checked + label
{
background: red;
border-radius: 100%;
}
</style>
</head>
<body>
<div class="item_checkbox fl">
<input type="checkbox" value="1" name="11" id="box" tag="ceshi"/>
<label class="l-checkbox">
</label>
</div>
<div >
<button class="logpwd_show_bt">只能使用1.9以上版本</button>
</div> <div id="simple-dialogBox" class="dialogBox"> </div>
<style type="text/css">
.dialog-box{
width: 100%;
} .dialog-box-container
{
width: 90%;
} .dialog-box-content
{
text-align: center;
background: #84c225; }
.dialog-box-content
{
color: #FFFFFF;
font-size: 0.18rem;
}
</style>
<script type="text/javascript">
$(function () {
$('.logpwd_show_bt').click(function(){
$('#simple-dialogBox').dialogBox({
autoHide: true,
time: 2000,
hasClose: true,
hasMask: true,
content: '新密码设置成功'
});
})
})
</script>
</body>
</html>
当前这段代码使用的jquery版本是11的,因为要支持html5.希望大家提更多的解决方案,交流。
jquery不同版本导致的checkbox设置了属性,但是没有选中效果的更多相关文章
- checkbox设置复选框的只读效果不让用户勾选
在Web开发中,有时候需要显示一些复选框(checkbox),表明这个地方是可以进行勾选操作的,但是有时候是只想告知用户"这个地方是可以进行勾选操作的"而不想让用户在此处勾选(比如 ...
- jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等
转载:https://blog.csdn.net/chenchunlin526/article/details/77448168 jQuery操作复选框checkbox技巧总结 --- 设置选中.取消 ...
- Jquery常用radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关设置
获取一组radio被选中项的值:var item = $('input[name=items][checked]').val(); 获取select被选中项的文本:var item = $(" ...
- jquery各版本区别
jquery版本区别: 1.3一般功能够 1.4.2一般功能够而且稳定 1.7+比较新特性 2不支持老IE 兼容的话最好选 1.x.稳定性就用1.7或者1.4,其中1.4的体积相对 ...
- jQuery判断复选框checkbox的选中状态
通过jQuery设置复选框为选中状态 复选框 <input type="checkbox"/> 错误代码: $("input").attr(&quo ...
- 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态
给tr添加点击事件,使用find方法查找tr下的所有层级的元素,children只查找下一层级的元素,所以使用find.find的返回值为jquery对象,在这个项目中不知道为什么使用jquery给c ...
- jQuery radio取值,checkbox取值,select取值
语法解释: $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 var checkTex ...
- jQuery设置disabled属性
先比较下readOnly和disabled: readOnly 只针对input(text/ password)和textarea有效: disabled 对于所有的表单元素都有效,包括select, ...
- jquery操作select(取值,设置选中)
最近工作中总出现select 和 option问题,整理一下,内容大部分源于网络资料 一.基础取值问题 例如<select class="selector"></ ...
随机推荐
- centos7中文显示为小方块~~啊啊啊 求大佬们解答
这个问题困扰我很久了,刚好前几天注册了博客园,就想问问大佬们是怎么解决中文显示小方块的? 我试了很多办法,包括但不限于修改i18n配置文件,locale.conf,添加中文字体库等等等... 但都没有 ...
- 个人对spring的IOC+DI的封装
暂时支持8种基本数据类型,String类型,引用类型,List的注入. 核心代码 package day01; import java.lang.reflect.Field;import java.l ...
- VueX源码分析(4)
VueX源码分析(4) /module store.js /module/module.js import { forEachValue } from '../util' // Base data s ...
- 学习笔记(四): Representation:Feature Engineering/Qualities of Good Features/Cleaning Data/Feature Sets
目录 Representation Feature Engineering Mapping Raw Data to Features Mapping numeric values Mapping ca ...
- c内置数据类型
参考 C与指针 第三章 类型 类型标识符 字节 表示数值范围 备注 整型 [signed] int 2* -32768~32767 -2^15 ~ (2^15 -1) 无符号整型 unsigned [ ...
- NOIP模拟赛 魔方
[题目描述] ccy(ndsf)觉得手动复原魔方太慢了,所以他要借助计算机. ccy(ndsf)家的魔方都是3*3*3的三阶魔方,大家应该都见过. (3的“顺时针”改为“逆时针”,即3 4以图为准.) ...
- NOIP2018
非常糟糕.从未意识到过考场debuff这么严重. 果不其然,高档选手强如txc实力AK:而像我这样的中档选手就是重在考场发挥和自我调整了吧. 究竟要付出多少代价才能领会一个教训 看来要尝试更自闭一点
- 【整理】虚拟机和主机ping不通解决办法,虚拟机ping不通外网的解决方法
检查几个方面: 1.检查虚拟网卡有没有被禁用2.检查虚拟机与物理机是否在一个VMNet中3.检查虚拟机的IP地址与物理机对应的VMNet是否在一个网段4.检查虚拟机与物理机的防火墙是否允许PING, ...
- JS处理数据四舍五入,tofixed与round的区别
此区别是在做微信端有关绑定设备数据曲线平滑处理的过程中,进行验证时候无意发现. 1 .tofixed方法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字.例如将数据Num保留 ...
- Python头脑风暴2
今天想到了一个致富新途径:假如我在X东上班,我写个X宝爬虫,专门爬在X宝买奢侈品的土豪,然后我自己注册个X宝号,用脚本一个个加他们然后给他们发信息说我X东这还有比你更便宜更好的...不知道行不行啊(狗 ...