在url中附加复选框值

时间:2014-05-23 10:06:17

标签: javascript jquery checkbox

我有一个代码,我在其中检查复选框并将值附加到网址。 我只能检查一个时能够附加值。但是当我检查多个框时,它只附加最新选中的复选框值。我想要检查多个复选框。我想插入用逗号分隔的多个复选框值

以下是代码

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>


<input type="checkbox" name="check" value="one">one<br>
<input type="checkbox" name="check" value="two">two<br>

<script>
$('input[type=checkbox').change(function(){
        window.location.hash = 'check=' + $(this).val();
    });
</script>
</body>
</html>

请帮我纠正我的代码,在url中添加多个复选框值

1 个答案:

答案 0 :(得分:0)

保留复选框的缓存,以便再次使用。在change事件处理程序函数中,在map()get()的帮助下,根据选中的复选框过滤复选框,并将每个值的值映射到数组。

使用您想要的字符加入值,如果有值,请将其与'check='

连接起来
$checkboxes = $('input[type=checkbox');
$checkboxes.change(function(){
    var values = $checkboxes.filter(':checked').map(function(){
        return this.value;   
    }).get().join(",");
    window.location.hash = values ? 'check=' + values : '';
});

JSFiddle