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 相关文章推荐
js和jquery中获取非行间样式
May 05 jQuery
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
jQuery+ajax读取json数据并按照价格排序示例
Mar 28 jQuery
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
php读取excel文件的简单实例
2013/08/26 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
js实现表格数据搜索
2020/08/09 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
Python爬取读者并制作成PDF
2015/03/10 Python
Python写的一个简单监控系统
2015/06/19 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
python脚本替换指定行实现步骤
2017/07/11 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
keras实现多种分类网络的方式
2020/06/11 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
python性能测试工具locust的使用
2020/12/28 Python
strstr()的简单实现
2013/09/26 面试题
培训讲师邀请函
2014/01/10 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书