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


相关推荐

  • 主机通过虚拟机上网「建议收藏」

    主机通过虚拟机上网「建议收藏」实现结果:WIN7X64主机通过XPMODE虚拟机共享上网大家现在总会碰到各种蛋疼的拨号软件、终端认证软件,而你偏偏又是用4G、8G内存装的是64位的系统或者是LINUX等非主流系统。这时候通过虚拟机32位的XP拨号、认证算是一种无奈的办法。虚拟机通过主机上网的办法是满天飞啦,可是主机通过虚拟机上网的办法我是在网上暂时没有找到。所以我自己为这个也是研究了好几天,终于倒腾出来了,和大家分享一下

    2022年5月12日
    42
  • socket中的connect提示报错:errno = “EINPROGRESS“

    socket中的connect提示报错:errno = “EINPROGRESS“socketconnectioctlsocketerror.h#defineEINPROGRESS115/*Operationnowinprogress*/

    2022年7月16日
    19
  • ionic4 ion-reorder-group组件拖拽改变item顺序

    ionic4 ion-reorder-group组件拖拽改变item顺序

    2021年6月29日
    78
  • 新一代金融神话Filecoin[通俗易懂]

    新一代金融神话Filecoin[通俗易懂]Filecoin是区块链史上耗时最短的ICO融资项目,受到了DCG集团、文克莱沃斯兄弟基金会、联合广场风投、AndersonHollotz基金和红杉资本等投资巨头的青睐。储存即收益,Filecoin与BTC的工作证明是不同的。filecoin只需要提供存储空间和宽带,就可以满足获取身份证明的需求。因此,Filecoin可以从根本上提高人类的效率,是一种真正的共享经济,它可以极大地推动存储资源的使用方式。由于Filecoin是基于强大的IPFS协议,并且由于IPFS的大量应用,Filecoin作为IPFS

    2025年11月3日
    5
  • Qt 编译方式之 qmake[通俗易懂]

    Qt 编译方式之 qmake[通俗易懂]作者:billy版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处QMake简介Qt的帮助文档中对于qmake是这样介绍的:qmake工具有助于简化不同平台上开发项目的构建过程。它自动生成生成makefile,因此创建每个makefile只需要几行信息。您可以将qmake用于任何软件项目,无论它是否使用qt编写。qmake是Qt工具包中带的一个非常…

    2022年5月19日
    34
  • libtorrent java_[libtorrent] windows搭建 libtorrent 开发环境

    libtorrent java_[libtorrent] windows搭建 libtorrent 开发环境操作系统 win10 开发工具 VS2019 搭建 libtorrent 步骤 一 安装 vcpkg 和 boost2 执行 bootstrap vcpkg bat 脚本 vcpkg bootstrap vcpkg bat3 添加 vcpkg 环境变量环境变量 gt PTAH gt 添加 vcpkg 的目录 如下图 4 安装 boost vcpkg exeinstallbo x8

    2026年1月22日
    1

发表回复

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

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