【问题标题】:How to change a URL parameter on a link that has # as href and is submitted inside a form如何更改具有 # 作为 href 并在表单内提交的链接上的 URL 参数
【发布时间】: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} 对象,其中0context 都包含多个url 实例,我应该编辑哪一个?

我只想将 URL / 获取参数 page=xxx 操作为 page=0,所以它返回到第一页。如何做到这一点?

【问题讨论】:

    标签: javascript jquery url-parameters


    【解决方案1】:

    我在错误的地方搜索。在 onclick 函数结束时,它会提交表单。我不得不像这样更改此表单的action

    var old_form_action = $('#formname').attr('action');
    var new_form_action = old_form_action.replace(/(page=)[^\&]+/, '$1' + '0');
    $('#formname').attr('action', new_form_action);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2015-01-16
      • 2014-04-10
      • 2021-11-16
      • 2015-07-12
      • 1970-01-01
      • 2015-06-20
      相关资源
      最近更新 更多