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正则验证注册页面经典实例
Jun 10 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 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 导出Excel示例分享
2014/08/18 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
Laravel下生成验证码的类
2017/11/15 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
不同浏览器的怪癖小结
2010/07/11 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
node.js超时timeout详解
2014/11/26 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
中专生职业生涯规划书范文
2014/01/10 职场文书
初二物理教学反思
2014/01/29 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
工作评语大全
2014/04/26 职场文书
美容院合作经营协议书
2014/10/10 职场文书
2014年老干部工作总结
2014/11/21 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
docker-compose部署Yapi的方法
2022/04/08 Servers