Jquery输入类型隐藏值数据切换添加/删除

时间:2017-03-31 17:04:11

标签: jquery html input duplicates toggle

基本上我有两个按钮可以将动态数据插入一个输入值:

    <button class="sunday">Sunday</button>
    <button class="monday">Monday</button>

    <input type="hidden" value="3/15/2017, 3/16/2017, 3/17/2017">

每个按钮插入3个日期,因此如果您在星期日和星期一点击这两个日期,您将获得

<input type="hidden" value="3/15/2017, 3/16/2017, 3/17/2017, 3/18/2017, 3/19/2017, 3/20/2017">

使用JQuery执行此操作的最佳方法是什么,但是要像切换一样,我想添加它们但不要复制它们。

2 个答案:

答案 0 :(得分:0)

所以,我查看了列出的代码并根据评论,我认为这将是一种方法。要为每个复选框设置日期,只需修改hiddenDates属性。

&#13;
&#13;
$(".checks button").click(function () {
  $(this).data("checked",true);
	newDates = [];
	$(".checks button").each(function () {
		if ($(this).data("checked"))
			newDates.push($(this).attr("hiddenDates"));
	});
	$("#hiddenArea").val(newDates.join(", "));
	console.log($("#hiddenArea").val());
});
$(".checks input:first").trigger("change");
&#13;
label {
	display:block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checks">
  <button hiddenDates="3/15/2017, 3/16/2017">Sunday</button>
  <button hiddenDates="4/15/2017">Monday</button>
</div>

<input id="hiddenArea" type="hidden" value="" />
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

$(".sunday, .monday").off("click").on("click",function(){
    var existing = [];
    var duplicates = $('#ElementID').filter(function() {
        var value = $(this).val().split(",");
        //compare the array and insert to existing array
        existing.push(value);
    });
    ("#hidden").value(existing);
});