选择多个选项时处理 href

Dealing with href when selecting multiple options

我试图在我的网页中为用户提供 select 多年的选项,因此我使用了复选框类型。目前,当用户 select 多年时,我正在努力重定向页面。

在HTML

<h4> Brands </h4>
<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Dropdown
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
        <li><a href="#" class="brands" name = "Nike">Nike</a></li>
        <li><a href="#" class="brands" name = "Adidas">Adidas</a></li>
        <li><a href="#" class="brands" name = "Vans">Vans</a></li>
    </ul>
</div>

<h4> Years </h4>
<div class="mutliSelect">
    <ul>
        <li>
            <input type="checkbox" value="2010" />2010</li>
        <li>
            <input type="checkbox" value="2011" />2011</li>
        <li>
            <input type="checkbox" value="2012" />2012</li>
        <li>
            <input type="checkbox" value="2013" />2013</li>
        <li>
            <input type="checkbox" value="2014" />2014</li>
        <li>
            <input type="checkbox" value="2015" />2015</li>
    </ul>
</div>

以前我可以 select 一年使用下拉菜单

<li><a href="{% url 'data:getdata' brands '2014' %}" class="year">2015</a></li>

现在,我想在用户 select 之后重定向到一个 link 品牌和多年,例如:

data/Nike/(以某种方式存储多年)

要在点击时重定向,您可以这样做:

onclick='redirect(this);' 添加到您的 <input> 列表

然后创建一个将重定向的函数

function redirect(e) {
    window.location.href = "data/Nike/" + e.checked
}

但在您的示例中,您无法处理品牌...

假设您要重定向的 URL 看起来像:

 http://www.example.com?data=...

并且您想作为数据发送:2010、2011、2013。您可以将其发送为:

 http://www.example.com?data='{"List":[2010,2011,2013]}'

并在接收方将接收到的字符串处理为字符串化 JSON。