欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

参考链接

相关标签: 前端插件