【发布时间】:2015-12-19 04:03:51
【问题描述】:
我正在开发一个 drupal 模块,它从 API 获取图像,添加可选择的搜索过滤器并生成分页。如果我去例如第 7 页并添加一个仅跨越 3 页的过滤器,这将导致根本不显示任何内容。
解决方案:添加过滤器后,返回第一页。现在我的问题是该页面是一个 url 参数,并且过滤器生成的链接设置为 href='#' 所以基本上这个页面是的。
所以我尝试调试处理点击的javascript:
$('#blabla .filter-url').click(function(e) {
e.preventDefault();
var link = $(e.currentTarget);
console.log(link);
var filter_key = link.data('filter-key');
var filter_value = link.data('filter-value');
// var active = link.hasClass('active');
var filters_input = $('#blabla input[name="filters"]');
var current_filters = JSON.parse(filters_input.val() || '{}');
current_filters.filters = current_filters.filters || [];
var exists = ($.grep(current_filters.filters, function(e, i){
return e.key == filter_key;
}).length);
if (exists) {
//Remove current filter from list
current_filters.filters = $.grep(current_filters.filters, function(e, i){
return e.key != filter_key;
});
link.removeClass('active');
}
// Add current filter to list
current_filters.filters.push({
key: filter_key,
value: filter_value,
});
link.addClass('active');
filters_input.val(JSON.stringify(current_filters));
$('#formname').submit();
});
链接对象:
链接对象有一个{0, context and length} 对象,其中0 和context 都包含多个url 实例,我应该编辑哪一个?
我只想将 URL / 获取参数 page=xxx 操作为 page=0,所以它返回到第一页。如何做到这一点?
【问题讨论】:
标签: javascript jquery url-parameters