jQuery iCheck Plugin 下处理单选按钮值切换

jQuery iCheck Plugin 下处理单选按钮值切换先来看段 html 代码 如下 lt listyle width 560px gt lt iclass imc gt lt i gt lt label gt 是否含权 amp a

先来看段html代码,如下:

<li style="width:560px;"> <i class="imc"></i><label>是否含权:</label> <div class="skin-minimal" style="width:380px; float:left;"> <div class="radio-box ml-10 hasRight"> <input type="radio" name="hasRight" id="display-1" value="1" checked="checked" /> <label for="display-1" style="width: auto;"></label> </div> <div class="radio-box hasRight"> <input type="radio" name="hasRight" id="display-2" value="0" /> <label for="display-2" style="width: auto;"></label> </div> </div> </li>

要处理单选按钮的点击事件,会给元素绑定click事件,在事件处理函数中根据已选中的单选按钮的值进行不同处理,代码如下:

$("input[type='radio'][name='hasRight']").on("click",function(){ 
    var radioVal = $(this).val(); if (radioVal == 0) { //... } else { //... } });

可是现在代码却未生效,查看js文件,发现如下代码

$('.skin-minimal input').iCheck({ checkboxClass: 'icheckbox-blue', radioClass: 'iradio-blue', increaseArea: '20%' });

询问同事,是使用了jQuery iCheck Plugin,项目中的处理是修改click事件绑定代码,如下

 var hasRight = $(".hasRight").children(); hasRight.click(function(){ 
    var skinval=$(this).text(); if(skinval == "是"){ // do something... } else { // do something... } }); $(".iCheck-helper",".hasRight").click(function(){ 
    var valChk = $(this).siblings().val(); if(valChk == 1){ // do something... } else { // do something... } });

至此,click事件生效

获取单选按钮的选中值,仍可按正常方式获取

var hasRight = $("input[type='radio'][name='hasRight']:checked").val();

<!DOCTYPE html> <html lang="en"> <head> <title>Checkboxes and radio buttons customization (jQuery and Zepto) plugin</title> <meta charset="utf-8"> <meta content="width=device-width" name="viewport"> <link href="./css/custom.css?v=1.0.2" rel="stylesheet"> <link href="../skins/all.css?v=1.0.2" rel="stylesheet"> <script src="./js/jquery.js"></script> <script src="../icheck.js?v=1.0.2"></script> <script src="./js/custom.min.js?v=1.0.2"></script> </head> <body> <div class="demo-list clear"> <ul> <li> <input tabindex="3" type="radio" id="input-3" value="3" name="demo-radio"> <label for="input-3">Radio button, <span>#input-3</span></label> </li> <li> <input tabindex="4" type="radio" id="input-4" value="4" name="demo-radio" checked> <label for="input-4">Radio button, <span>#input-4</span></label> </li> </ul> <script> $(document).ready(function(){ 
      var callbacks_list = $('.demo-callbacks ul'); $('.demo-list input').on('ifChanged', function(event){ 
      if($(this).context.checked){ alert($(this).context.value); } }).iCheck({ checkboxClass: 'icheckbox_square-blue', radioClass: 'iradio_square-blue', increaseArea: '20%' }); }); </script> </div> </body> </html> 

以上代码是根据官方代码修改而来

//绑定iCheck插件提供的ifChanged事件,对应change事件 $('.demo-list input').on('ifChanged', function(event){ 
     //由于iCheck插件对普通元素进行了封装,所以这里的this并不是我们期望的radio元素 //$(this).context才是我们期望的radio元素(DOM对象) if($(this).context.checked){ alert($(this).context.value); } })

设置单选按钮不可编辑

$('.skin-minimal').find("input[name='openMarket']").iCheck('disable');

资源:
jQuery iCheck Plugin

项目中使用iCheck插件时,需要导入icheck.jsjquery.jsskin文件夹
页面引用文件如下

 <!-- 自定义的样式文件,需自己编写 --> <link href="yourPath/custom.css" rel="stylesheet"> <!-- 以下三个文件需引用 --> <link href="yourPath/skins/all.css" rel="stylesheet"> <script src="yourPath/jquery.js"></script> <script src="yourPath/icheck.js"></script>

设置默认选中

$('#areaType1, #level1').iCheck('check');
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231951.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月11日 上午10:01
下一篇 2025年11月11日 上午10:22


相关推荐

  • Flink教程(5)-Flink常用API

    Flink教程(5)-Flink常用APIFlink 教程 FlinkAPI 讲解 Flink 是一个同时具备流数据处理和批数据处理的分布式计算框架 Flink 代码主要是由 Java 实现 部分代码由 Scala 实现 Flink 既可以处理有界的批量数据集 也可以处理无界的实时数据集 Flink 处理的主要场景是流式数据 Flink 称得上是一款真正的流 批统一的大数据计算框架

    2026年3月17日
    2
  • Mutex对象使用时发现的问题

    Mutex对象使用时发现的问题Mutex对象等待互斥对象的方法有:Mutex.WaitAll、WaitOne、Mutex.WaitAny使用Mutex对象经常出现的异常现象有:异常一、 由于出现被放弃的mutex,等待过程结束原因:获取互斥对象后没有显式的释放对应的互斥对象就结束了对应的线程解决办法:每调用一个等待方法,在结束调用时都要调用ReleaseMutex()方法进行Mutex对象释放。而每种释

    2022年6月26日
    31
  • matlab画圆并生成随机数

    matlab画圆并生成随机数%A区域生成随机数%画圆t=0:pi/100:2*pi;x=10*cos(t)+30.3;y=10*sin(t)+89.8;plot(x,y,’r’);%生成随机数a=zeros(2,8);i=1;whilei<=8temp1=rand(1)*20+20.3;temp2=rand(1)*20+79.8;if(temp1-30.3)^2+(temp2-89.8)^2<10^2

    2022年6月19日
    50
  • 并发编程之深入理解ReentrantLock和AQS原理

    并发编程之深入理解ReentrantLock和AQS原理

    2021年8月3日
    48
  • cursor邪修教程:免魔法+无限续杯claude4/GPT5

    cursor邪修教程:免魔法+无限续杯claude4/GPT5

    2026年3月16日
    3
  • 缺陷报告模板_软件缺陷生命周期图

    缺陷报告模板_软件缺陷生命周期图缺陷ID:XXX严重级别:优先级别:类型:缺陷标题:手机号长度不符合时系统提示有误缺陷描述:在CRM系统线索模块下,当创建一条新线索,在手机号输入框输入一个长度为9位的手机号时,系统提示“手机号正确”与需求要求的提示不符。测试环境:IE11.0缺陷的重现步骤:01.打开CRM系统主界面02.在CRM主界面点击”创建线索”链接03.在手机号输入框输入“123456789”手机号…

    2026年1月17日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号