提问者:小点点

根据单击的复选框重定向表单


我试图重定向用户到不同的页面根据复选框,他们已点击。

下面是一个场景:

我有9个复选框,其中3有自己的URL重定向,如果在组合中选中,他们也有一个不同的URL重定向太。 例如,如果单击了复选框a,则重定向到它的默认URL,但是如果单击了a+B,则重定向到一个不同的URL,对于复选框c,依此类推。 所以我有7个页面,用户需要重定向到a,b,c,a+b+c,a+BA+c,b+c,如果其他复选框已经被点击,他们可以只重定向到默认的感谢页面(e是点击重定向到默认页面,a+e是点击重定向到a的页面)。 这需要在提交表单时发生。

到目前为止,当单击submit按钮时,我已经能够获得每个选中框的值,但是我完全不知道如何继续下去。

任何形式的帮助都将不胜感激。

$("#send-a").click(function() {
        var checkedValues = $('input:checkbox:checked').map(function() {
             return this.value;
        }).get();
        console.log(checkedValues);return false;

    });

共1个答案

匿名用户

您可以使用toString()(逗号作为分隔符)连接所选复选框的值,并使用switch在对数组排序后检查组合。 我假设复选框的值是abc

$('.btn').on('click', function() {
    var checkedValues = $('input:checkbox:checked').map(function() {
        return this.value;
    }).get();

    // sort in alphabetical order
    checkedValue = checkedValues.sort();

    var valueString = checkedValues.toString();
    switch(valueString) {
        case 'a':
            // redirect to A
            break;
        case 'b':
            // redirect to B
            break;
        case 'a,b':
            // redirect to A+B
            break;
        // other combinations, check for letters separated by comma
        default:
            // default redirect               
    }                
});