Javascript 限制复选框的数量并根据其值更新字符串
我发现这是我想做的事情的一部分,当人们超过某个限制时,取消选中复选框 现在我想修改它,以便在选中/取消选中复选框时,将复选框的值添加到字符串中或从字符串中删除 我的更新代码如下所示:Javascript 限制复选框的数量并根据其值更新字符串,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我发现这是我想做的事情的一部分,当人们超过某个限制时,取消选中复选框 现在我想修改它,以便在选中/取消选中复选框时,将复选框的值添加到字符串中或从字符串中删除 我的更新代码如下所示: var filterURL = ''; var checked = [], $check = $('.accordion-list input').change(function() { checked.push(this); checked = $(checked); checked.pr
var filterURL = '';
var checked = [],
$check = $('.accordion-list input').change(function() {
checked.push(this);
checked = $(checked);
checked.prop('checked', false).slice(-6).prop('checked', true);
if($(this).is(':checked')) {
filterURL += ($(this).val());
}
else {
filterURL = filterURL.replace($(this).val(),'');
}
alert(filterURL);
});
在我开始尝试取消选中复选框之前,这一切都很好——它们不会取消选中,并且值会一直附加到字符串中
老实说,我可能会去掉
value
属性中的斜杠,并将其放在join('/')
中,您的调用会修复字符串中值的添加和删除,但取消选中输入不起作用,这是我最初问题的一部分。我已经更新了你的密码。
var vals = [];
$('input:checkbox:checked').each(function() { vals.push($(this).val()); });
$('.checkboxes input').change(function() {
var filterURL = $('.checkboxes input:checked').map(function(){
return $(this).val();
}).get().join('');
$('#output').html(filterURL);
});