Javascript 通过onclick-on复选框执行jQuery函数时出现问题

Javascript 通过onclick-on复选框执行jQuery函数时出现问题,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下资料: <input type="checkbox" value="Spanish" <?php if($_GET['set'] == 'Spanish') echo 'checked'; ?> onclick="filter(this)" id="spanish"> <input type="checkbox" value="English&quo

我有以下资料:

<input type="checkbox" value="Spanish" <?php if($_GET['set'] == 'Spanish') echo 'checked'; ?> onclick="filter(this)" id="spanish">
<input type="checkbox" value="English" <?php if($_GET['set'] == 'English') echo 'checked'; ?> onclick="filter(this)" id="english">
<input type="checkbox" value="French" <?php if($_GET['set'] == 'French') echo 'checked'; ?> onclick="filter(this)" id="french">

function get_url() {
    var urlPrefix   = '<?php echo site_url('home/language?'); ?>'
    var urlSuffix = "";
    var slectedCategory = "";

    $('#spanish:checked').each(function() {
        slectedCategory = $(this).attr('value');
    });

    $('#english:checked').each(function() {
        slectedCategory = $(this).attr('value');
    });

    $('#french:checked').each(function() {
        slectedCategory = $(this).attr('value');
    });

    urlSuffix = "set="+slectedCategory;
    var url = urlPrefix+urlSuffix;
    return url;
}
function filter() {
    var url = get_url();
    window.location.replace(url);
}
onclick=“filter(this)”id=“english”>

出现此问题是因为您没有在
get\u url
函数中使用已单击复选框的值来生成新url。替换js函数,如下所示。它会起作用的

function get_url(elem) {
    var urlPrefix   = '<?php echo site_url('home/language?'); ?>'
    var urlSuffix = "";
    var slectedCategory = "";

    slectedCategory = $(elem).attr('value');

    urlSuffix = "set="+slectedCategory;
    var url = urlPrefix+urlSuffix;
    return url;
}
function filter(elem) {
    var url = get_url(elem);
    window.location.replace(url);
}
函数获取url(elem){
var urlpeffix=''
var url后缀=”;
var-slectedCategory=“”;
slectedCategory=$(elem.attr('value');
urlSuffix=“set=”+slectedCategory;
var url=urlpefix+urlSuffix;
返回url;
}
函数过滤器(elem){
var url=获取url(elem);
window.location.replace(url);
}

一次只能选中一个复选框吗?如果是这样,单选按钮(
type=“radio”
)更适合该任务。不,如果需要,用户可以选择两个选项。当然,代码不会处理多个值
slectedCategory
将仅具有源顺序中最后一个选中复选框的值。Hm。。我没有太多的知识,所以这就是为什么在选择两个选项时它从来都不起作用的原因。你能给我一个选择,让我像现在这样工作吗?只有一个选项,并带有复选框。多个值的格式是什么?