您的位置:首页 > 其它

自定义的好看的单选复选框功能

2017-06-06 15:51 225 查看


如图,和大家分享一下自定义的单选复选框,自己写,不从网上找了。

前端的html页面结构:

<div class="mutli">
<ul>
<li><input type="checkbox" id="1" class="checkAll"><label for="1">全选</label></li>
<li><input type="checkbox" id="2" class="checkItem"><label for="2">一级甲等</label></li>
<li><input type="checkbox" id="3" class="checkItem"><label for="3">一级乙等</label></li>
<li><input type="checkbox" id="4" class="checkItem"><label for="4">一级丙等</label></li>
<li><input type="checkbox" id="5" class="checkItem"><label for="5">二级甲等</label></li>
<li><input type="checkbox" id="6" class="checkItem"><label for="6">一级乙等</label></li>
</ul>
</div>
<div class="singleli">
<ul>
<li><input type="checkbox" id="11" class="singleItem"><label for="11">进口药</label></li>
<li><input type="checkbox" id="22" class="singleItem"><label for="22">国产药</label></li>
<li><input type="checkbox" id="33" class="singleItem"><label for="33">私营药</label></li>
<li><input type="checkbox" id="44" class="singleItem"><label for="44">公共药</label></li>
<li><input type="checkbox" id="55" class="singleItem"><label for="55">什么药1</label></li>
<li><input type="checkbox" id="66" class="singleItem"><label for="66">什么药2</label></li>
</ul>
</div>


<div class="multi"/>里面的是复选框布局,对应的下面的<div class="singleli"/>里是单选框布局。

下面贴上css

/*自定义多选框以及单选框样式*/
.mutli li,.singleli li {
float: left;
margin-right: 6px;
}

.mutli input[type="checkbox"], .singleli input[type="checkbox"] {
display: inline-block;
width: auto;
}

.mutli label, .singleli label{
vertical-align: middle;
margin: 0px 5px 0px 0;
padding: 3px 15px;
border: 1px solid #eee;
background-color: #fff;
cursor: pointer;
color: #006fbc;
display: inline-block;
margin-left: -18px;

}

.mutliArrow {
border: solid 2px #1e99c7;
padding: 2px 14px;
background: url(../image/bottomArrow.png) no-repeat right bottom;
}


还有个背景图 你右击保存到桌面就可以了  


接下来就是js了。

//自定义复选框的点击事件实现
$(".mutli input:checkbox").click(function () {//自定义复选框的点击事件
var _this = $(this),
label = _this.siblings("label");
label.hasClass('mutliArrow') ? label.removeClass('mutliArrow') : label.addClass('mutliArrow');//三目结构写判断
if (_this.hasClass("checkAll")) {//全选事件
var siblingsLis= _this.parent("li").siblings("li");
label.hasClass('mutliArrow') ? siblingsLis.find('input:not(":checked")').prop("checked", true).siblings('label').addClass('mutliArrow') : siblingsLis.find('input:checked').prop("checked", false).siblings('label').removeClass('mutliArrow');
} else {
$(".checkAll").removeAttr("checked").siblings("label").removeClass("mutliArrow");
}
})
//自定义单选框的点击事件实现
$(".singleli input:checkbox").click(function () {
var $this = $(this),
label = $this.siblings('label'),
siblingsLis = $this.parent('li').siblings('li');
label.hasClass('mutliArrow') ? label.removeClass('mutliArrow') : label.addClass('mutliArrow');
siblingsLis.find('input:checked').prop("checked", false).siblings('label').removeClass('mutliArrow');
})


好了,自定义的好看的单选复选框小功能就算是完成了。

              金木·晨 2017-06-06 15:51:11
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: