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实现二级联动效果
Mar 30 jQuery
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
jquery实现下载图片功能
Jul 18 jQuery
jQuery实现可以计算进制转换的计算器
Oct 19 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学习之PHP运算符
2006/10/09 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
Vue.js实现tab切换效果
2019/07/24 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
阿巴庭院:Abba Patio
2019/06/18 全球购物
初中生自我鉴定
2014/02/04 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
财政局个人总结
2015/03/04 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS
Rust中的Struct使用示例详解
2022/08/14 Javascript