jquery.tagsinput.js 实现记录checkbox勾选的顺序

本文介绍了一个业务需求,即通过jquery.tagsinput.js插件来记录checkbox的勾选顺序。通过创建两个数组,当checkbox被选中时将值加入数组B,取消时从数组B中移除,以此保持数组B的顺序来反映checkbox的勾选顺序。提供了代码示例和资源下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务需求:可以根据checkbox的先后勾选传递有顺序的值让后台接收,决定用tagsinput显示checkbox的先后勾选顺序,并实时响应checkbox的勾选状态


思路:checkbox的值存在一个数组A,新创建一个数组B,如果选中一个,B push一个值,取消一个,remove一个值,因为数组是有序的,就做到响应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>

参考: https://github.com/xoxco/jQuery-Tags-Input

资源Demon:http://download.youkuaiyun.com/detail/u013361445/9401282

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值