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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VBS整人代码(一串代码让全班同学说卧槽)

    一、做我女朋友吗,告白(抖音里很火的)无危害msgbox(“做我女朋友可以吗?”)msgbox(“房产证上写你名”)msgbox(“保大”)msgbox(“我妈会游泳”)m=MsgBox(“做我女朋友好吗?”,vbOKCancel)Ifm=vbOKThenMsgbox(“爱你么么哒”)Ifm=vbCancelThenMsgBox”不喜欢你了”,vbCrit…

    2022年4月9日
    4.8K
  • 非阻塞情况下connect产生EINPROGRESS错误[通俗易懂]

    非阻塞情况下connect产生EINPROGRESS错误[通俗易懂]//原文地址:http://blog.csdn.net/saspss/article/details/8487678、、、、今天,在调试socket,非阻塞模式下,发现连接服务器时connect老是回复-1,很是苦恼。后来,看到某一个前辈的代码,思路和下面这篇文章差不多意思。就是,非阻塞模式下的连接服务器,要判断下返回值,是否是EINPROGRESS,如果是,说明这个soc

    2022年7月17日
    17
  • Python实现简单截图识别获取文字符号信息[通俗易懂]

    Python实现简单截图识别获取文字符号信息[通俗易懂]版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/weixin_42365530有时候我们百度出来一些自己需要信息后,想要直接复制粘贴(借鉴借鉴),提升工作效率,比如学校要求写什么加油稿,期末总结,思想汇报啊…额~,被请去办公室喝茶了,到时别说是博主教的啊!但是百度文库经常会限制我们复制…

    2022年5月20日
    44
  • 上那学计算机,从零开始学电脑(学电脑从哪开始)

    上那学计算机,从零开始学电脑(学电脑从哪开始)从零开始学电脑(学电脑从哪开始)如今,手机已经成为我们生活中不可缺少的必需品,各种手机应用软件的层出不穷,使得智能手机占据了互联网的半壁江山,似乎手机无所不能了,平时,很多人觉得一手机在手便可以仗剑走天涯,但当我们走进职场,你就会发现,对于办公而言,手机还是有很大的局限性,掌握电脑知识,熟悉电脑基本操作是胜任工作的必备技能。真是“书到用时方恨少”。今天开始,涛哥就带你走进电脑的世界,让你从电脑小白…

    2022年5月3日
    51
  • 缓冲区溢出攻击原理分析

    缓冲区溢出攻击原理分析本文从C/C++语言的函数帧结构出发,分析缓冲溢出攻击如果修改eip进而控制执执行shellcode。

    2022年7月12日
    23
  • centos7.6安装docker_docker自动部署多环境

    centos7.6安装docker_docker自动部署多环境前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月30日
    6

发表回复

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

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