【问题标题】:Appending checkboxes values in url在 url 中附加复选框值
【发布时间】:2014-05-23 10:06:16
【问题描述】:

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

下面是代码

<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 中附加多个复选框值

【问题讨论】:

    标签: javascript jquery checkbox


    【解决方案1】:

    保留复选框的缓存,以便再次使用。在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

    【讨论】:

    • 谢谢先生。如果你能在代码上做一个小帮助。当我检查一个框,然后按下后退按钮并转到上一个选择时,它会保持选中复选框,因为我希望它被选中...
    • 恐怕没有简单的方法可以解决这个问题。浏览器按钮并非旨在使用散列来浏览不同的按钮状态。您需要检查页面加载并相应地选中您的复选框。
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多