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 相关文章推荐
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
简单实现jQuery弹窗效果
Oct 30 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
jQuery使用each遍历循环的方法
Sep 19 jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
php生成RSS订阅的方法
2015/02/13 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
Python笔记(叁)继续学习
2012/10/24 Python
Python设计模式之解释器模式原理与用法实例分析
2019/01/10 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
庆六一活动总结
2014/08/29 职场文书
房租涨价通知
2015/04/23 职场文书
庆七一主持词
2015/06/29 职场文书
奠基仪式致辞
2015/07/30 职场文书
python分分钟绘制精美地图海报
2022/02/15 Python
mysql中关键词exists的用法实例详解
2022/06/10 MySQL