jquery.tagsinput.js实现记录checkbox勾选的顺序


Posted in jQuery onSeptember 21, 2019

业务需求:可以根据checkbox的先后勾选传递有顺序的值让后台接收,决定用tagsinput显示checkbox的先后勾选顺序,并实时响应checkbox的勾选状态

思路:checkbox的值存在一个数组A,新创建一个数组B,如果选中一个,B push一个值,取消一个,remove一个值,因为数组是有序的,就做到响应checkbox的勾选顺序

效果:

jquery.tagsinput.js实现记录checkbox勾选的顺序

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Tagsinput Checkbox</title>
 
<link rel="stylesheet" type="text/css" href="jquery.tagsinput.css" >
</head>
 
 
<body>
 checkbox: <input type="checkbox" value="0" name="fruit" οnclick="radioHandle(this.value)" />Apple
 <input type="checkbox" value="1" name="fruit" οnclick="radioHandle(this.value)" />Banana
 <input type="checkbox" value="2" name="fruit" οnclick="radioHandle(this.value)" />Pear
 <input type="checkbox" value="3" name="fruit" οnclick="radioHandle(this.value)" />Orange
 <br><br>
 <input type="text" id="fruit-tags" name="fruit-tags" >
 <input type="text" id="fruitChecked">
 
<script src="jquery.min.js" ></script>
<script src="jquery.tagsinput.js" ></script>
<script type="text/javascript">
 var fruitValue = new Array();
 var fruitName = ['Apple','Banana','Pear','Orange'];
 
 Array.prototype.removeByValue = function(val) {
  for(var i=0; i<this.length; i++) {
  if(this[i] == val) {
   this.splice(i, 1);
   break;
  }
  }
 };
 
 
 $('#fruit-tags').tagsInput({
 interactive: false,
 removeWithBackspace: false,
 onRemoveTag: function(value){
  //重点 通过值获得数组的索引
     //删除 checkbox不勾选 数组remove值 显示改变
     var index = fruitName.indexOf(value);
     $("input:checkbox[name=fruit][value="+index+"]").prop("checked",false);
     fruitValue.removeByValue(index);
     $('#fruitChecked').val(fruitValue.toString());
    }
 });
 
 function radioHandle(value){
  // --- 选中 push--
  if($("input:checkbox[name=fruit][value="+value+"]").is(':checked')){
   if($('#fruitChecked').val().indexOf(value) == -1){
    fruitValue.push(value);
    $('#fruit-tags').addTag(fruitName[parseInt(value)]);
   }
  }else{
   if($('#fruitChecked').val().indexOf(value) > -1){
    fruitValue.removeByValue(value);
    $('#fruit-tags').removeTag(fruitName[parseInt(value)]);
   }
  }
  $('#fruitChecked').val(fruitValue.toString());
 } 
 
 
</script>
</body>
</html>

参考:jQuery-Tags-Input

资源:Demo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
jQuery实现网页拼图游戏
Apr 22 jQuery
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
jquery实现点击左右按钮切换图片
Jan 27 jQuery
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 #jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 #jQuery
基于jquery ajax的多文件上传进度条过程解析
Sep 11 #jQuery
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 #jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 #jQuery
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
Sep 03 #jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 #jQuery
You might like
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
JS实现百度搜索框
2021/02/25 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Django中的Signal代码详解
2018/02/05 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
客服部工作职责范本
2014/02/14 职场文书
党员民主评议自我评价
2014/10/20 职场文书
2014年团工作总结
2014/11/27 职场文书
悬空寺导游词
2015/02/05 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
少年雷锋观后感
2015/06/10 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
python 批量压缩图片的脚本
2021/06/02 Python
速龙x4-860k处理器相当于i几
2022/04/20 数码科技