像复选框和单选按钮一样选择/取消选择元素

  • 源码大小:231KB
  • 所需积分:1积分
  • 源码编号:19JP-3322
  • 浏览次数:639次
  • 最后更新:2023年05月31日
  • 所属栏目:表单
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

checkbox单选组是一个jQuery插件,它允许用户像复选框和单选按钮一样快速选择/取消选择单个元素或一组元素。

如何使用它:

1.要开始,请包括jquery-checkbox-radio-group.js查询框加载jQuery库后的JavaScript库。

  1. <script src="/path/to/cdn/jquery.slim.min.js"></script>
  2. <script src="/path/to/dist/jquery-checkbox-radio-group.js"></script>

2.使一个元素可以像单个复选框一样进行选择。

  1. <div class="example">First Div</div>
  2. <div class="example">Second Div</div>
  3. ...
  1. $('.example').checkbox({
  2. onChange: function(id, selected){
  3. console.log(id+':'+selected)
  4. }
  5. });

3.使一组元素可以像复选框组一样进行选择。在本例中,单击“父元素”将选择或取消选择所有子元素。

  1. <div id="parent">Parent Element</div>
  2. <div id="container">
  3. <div id="no1">1</div>
  4. <div id="no2">2</div>
  5. <div id="no3">3</div>
  6. ...
  7. </div>
  1. $('#parent').checkboxGroup({
  2. onChange : function(id, selected){
  3. console.log(id,':',selected)
  4. }
  5. })
  6. .addElement( $('#container'), 'div')
  7. .addElement( $('#no3'), {
  8. onChange: function(id, selected){ console.log('I an special!', id,':',selected) }
  9. });

4.使一组元素可以像复选框组一样进行选择。在本例中,单击“父元素”将选择或取消选择所有子元素。

  1. <div id="radioGroup">
  2. <div id="radio1">Radio id=radio1</div>
  3. <div id="radio2">Radio id=radio2</div>
  4. <div id="radio3">Radio id=radio3</div>
  5. ...
  6. </div>
  1. var radioGroup = $.radioGroup({
  2. radioGroupId: 'myRadioGroup',
  3. onChange: function(id, selected, $radio, groupId ){
  4. console.log(groupId+':'+id+'=>'+selected);
  5. }
  6. });
  7.  
  8. radioGroup
  9. .addElement( $('#radio1, #radio2') )
  10. .addElement( $('#radio3'), {
  11. onChange: function(id, selected){
  12. console.log('I an special!', id,':',selected)
  13. }
  14. });

5.所有默认插件设置。

  • 身份证件:唯一ID
  • 道具:选择元素时设置属性
  • 类名称:选择元素时设置的类名
  • 类名(_semi):元素处于半选中状态时的类名
  • 选择器:要使用prop和/或className更新的子元素的选择器
  • 现代化:如果为true,则元素在未选中时会得到“no-”+className
  • 挑选出来的:确定是否选择了元素
  • 半选定:确定元素是否处于半选中状态
  • on更改:回调函数
  1. {
  2. id: null
  3. prop: '',
  4. className: '',
  5. className_semi: '',
  6. selector: null,
  7. modernizr: false,
  8. selected: false,
  9. semiSelected: false,
  10. onChange: function(){}
  11. }

6.以编程方式选择和取消选择元素。

  1. radioGroup.setSelected('radio3');
  2. radioGroup.setUnselected('radio3', true);

更新日志:

2022-11-02

  • v1.10.1:允许所选为函数(返回BOOLEAN)

2022-04-04

  • 第9.3版

2022-04-01

  • 支持半选择(黄色)元素

预览截图