我是 jQuery 新手,遇到了一个问题,对于大多数前端专家来说,这可能很容易发现。
我创建了以下脚本
$(document).ready(function() {
$("#facet_properties input[type='checkbox']").each(function() {
$(this).click(function() {
var queryString = getQueryString();
$('body').load(window.location.pathname.concat(queryString));
})
});
});
function getQueryString() {
var queryString = "";
var queryStringBegun = false;
$("#facet_properties input[type='checkbox']").each(function() {
if ($(this).is(':checked')) {
var checkboxFullName = $(this).attr('name');
var checkboxName = checkboxFullName.substr(checkboxFullName.lastIndexOf('_') + 1);
var concatenationCharacter = '&';
if (!queryStringBegun) {
concatenationCharacter = '?';
}
queryString.concat(concatenationCharacter).concat(checkboxName);
queryStringBegun = true;
}
});
return queryString;
}
我试图在 getQueryString 方法中创建一个查询字符串变量,但不知何故 queryString 保持为空。选中复选框时,我看到语句 queryString.concat(concatenationCharacter).concat(checkboxName); 已达到,我看到 'contenationCharacter' 和 'checkboxName' 具有正确的值。那么为什么我的函数返回“”?
这可能是一个变量范围问题或什么的。我猜这很简单。谢谢!