JQuery的 iCheck 单选、复选美化插件使用
程序员文章站
2022-07-12 21:10:10
...
表单复选框、单选框控件美化插件,主要作用为:
- 渲染并美化当前页面的复选框或单选框
- 响应复选框或单选框的点击事件
- 25 种参数 用来定制复选框(checkbox)和单选按钮(radio button)
- 8 个回调事件 用来监听输入框的状态
- 7个方法 用来通过编程方式控制输入框的状态
官网网址:
1.页面引用及iCheck**
页面引入:
<!-- iCheck for checkboxs and radio inputs-->
<link rel="stylesheet" href="/static/assets/plugins/iCheck/all.css">
<!--iCheck 1.0.1-->
<script src ="/static/assets/plugins/iCheck/icheck.min.js"></script>
**:默认情况下iCheck是不生效的,需要使用JS代码**,此过程中可以指定iCheck的皮肤,案例代码如下:
<input type="checkbox" class="minimal" />
// ** iCheck
$('input[type="checkbox"].minimal, input[type="radio"].minimal').iCheck({
checkboxClass: 'icheckbox_minimal-blue',
radioClass : 'iradio_minimal-blue'
});
2.iCheck的25种参数使用
调用iCheck时,只需要将修改了默认值的参数列出来即可:
//基础使用方法
$('input').iCheck({
labelHover : false,
cursor : true,
checkboxClass : 'icheckbox_square-blue',
radioClass : 'iradio_square-blue',
increaseArea : '20%'
});
下面是参数列表及其默认值:
{
handle: '',
checkboxClass: 'icheckbox',
radioClass: 'iradio',
checkedClass: 'checked',
checkedCheckboxClass: '',
checkedRadioClass: '',
uncheckedClass: '',
uncheckedCheckboxClass: '',
uncheckedRadioClass: '',
disabledClass: 'disabled',
disabledCheckboxClass: '',
disabledRadioClass: '',
enabledClass: '',
enabledCheckboxClass: '',
enabledRadioClass: '',
hoverClass: 'hover',
focusClass: 'focus',
activeClass: 'active',
labelHover: true,
labelHoverClass: 'hover',
increaseArea: '',
cursor: false,
inheritClass: false,
inheritID: false,
insert: ''
}
iCheck皮肤:
Black — minimal.css //黑色
Red — red.css //红色
Green — green.css //绿色
Blue — blue.css //蓝色
Aero — aero.css //win7中的那种玻璃效果
Grey — grey.css //银灰色
Orange — orange.css //橙色
Yellow — yellow.css //黄色
Pink — pink.css //粉红色
Purple — purple.css //紫色
3.iCheck的7个使用方法
$('input').iCheck('check'); //将输入框的状态设置为checked
$('input').iCheck('uncheck'); //移除 checked 状态
$('input').iCheck('toggle'); //toggle checked state
$('input').iCheck('disable'); //将输入框的状态设置为 disabled
$('input').iCheck('enable'); //移除 disabled 状态
$('input').iCheck('update'); //apply input changes, which were done outside the plugin
$('input').iCheck('destroy'); //移除iCheck样式
4.iCheck的8个回调事件
iCheck支持所有选择器(selectors),并且只针对复选框checkbox和单选radio按钮起作用。
iCheck提供了大量回调事件,都可以用来监听change事件。
ifClicked 用户点击了自定义的输入框或与其相关联的label
ifChanged 输入框的 checked 或 disabled 状态改变了
ifChecked 输入框的状态变为 checked
ifUnchecked checked 状态被移除
ifDisabled 输入框状态变为 disabled
ifEnabled disabled 状态被移除
ifCreated 输入框被应用了iCheck样式
ifDestroyed iCheck样式被移除
使用on()方法绑定事件:
//全选获取数值
var checkAll = $("input[name='all']");
var checkboxes = $("input[name='check']");
checkAll.on('ifChecked ifUnchecked', function(event) {
if (event.type == 'ifChecked') {
checkboxes.iCheck('check');
} else {
checkboxes.iCheck('uncheck');
}
});
checkboxes.on('ifChanged', function(event) {
if (checkboxes.filter(':checked').length == checkboxes.length) {
checkAll.prop('checked', 'checked');
} else {
checkAll.removeProp('checked');
}
checkAll.iCheck('update');
});
$("#cardCheck").on('ifChanged', function(event) {
// if ($(this).prop('checked'))
// if(this.checked)
// if ($(this).is(':checked'))
/*if($(this).is(":checked")) {
alert();
}*/
getSmokeListDynamic(); // 刷新表格数据
});
_checkbox.each(function () {
// 判断是否选中
var delFlag = $(this).is(":checked");
if (delFlag) {
_idArray.push($(this).attr("id"));
}
});
// 获取已选值
$("input[name='id']:checkbox").each(function(){
if(true == $(this).is(':checked')){
str+=$(this).val()+",";
}
});
// 判断已选中的个数/长度
var len = $("input[name='id']:checkbox").length;
如果要调整icheck的radio或checkbox样式,通过下面的css修改width和height,同时修改blue.png图片对应的尺寸。
.icheckbox_square-blue, .iradio_square-blue {
display: block;
margin: 0;
padding: 0;
width: 22px;
height: 22px;
background: url(blue.png) no-repeat;
border: none;
cursor: pointer;
}