Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 限制复选框的数量并根据其值更新字符串_Javascript_Jquery_Checkbox - Fatal编程技术网

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);
});