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 24 jQuery
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 jQuery
基于jQuery实现定位导航位置效果
Nov 15 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
使vue实现jQuery调用的两种方法
May 12 jQuery
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
jQuery实现简单评论区功能
Oct 26 jQuery
jquery实现拖拽添加元素功能
Dec 01 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使用反射插入对象示例分享
2014/03/11 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python去除字符串两端空格的方法
2015/05/21 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
python实现多线程网页下载器
2018/04/15 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
Linux操作面试题
2012/05/16 面试题
师范应届毕业生自荐信
2013/11/18 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
年度考核自我鉴定
2014/02/02 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL