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。。我没有太多的知识,所以这就是为什么在选择两个选项时它从来都不起作用的原因。你能给我一个选择,让我像现在这样工作吗?只有一个选项,并带有复选框。多个值的格式是什么?