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,Angular实现登录界面验证码详解
Apr 27 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
AJAX在JQuery中的应用详解
Jan 30 jQuery
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 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中的实现trim函数代码
2007/03/19 PHP
PHP 实例化类的一点摘记
2008/03/23 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
Python3实现购物车功能
2018/04/18 Python
Python创建字典的八种方式
2019/02/27 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
Python实现微信表情包炸群功能
2021/01/28 Python
大学新生军训个人的自我评价
2013/10/03 职场文书
个人评价范文分享
2014/01/11 职场文书
大学生村官典型材料
2014/01/12 职场文书
说明书范文
2014/05/07 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
离职感谢信怎么写
2015/01/22 职场文书
元宵节晚会主持词
2015/07/01 职场文书
健康教育主题班会
2015/08/14 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
Vue操作Storage本地化存储
2022/04/29 Vue.js