2015-09-22 48 views
0

我正在研究drupal模塊,它從API獲取圖像,添加了可選的搜索過濾器並生成分頁。如果我去例如第7頁分頁,並添加一個只能跨越3頁的過濾器,它將不會顯示任何內容。如何更改具有#作爲href並在表單中提交的鏈接上的URL參數

解決方法:在添加過濾器後,返回到第1頁。現在是我的問題,該網頁是一個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(); 
}); 

鏈接對象:

link object

鏈接對象有一個{0, context and length}對象,其中兩個0context包含url的多個實例,我應該編輯哪一個?

我只是想操縱URL /得到參數page=xxxpage=0,所以它回到第1頁。如何實現這一目標?

回答

0

我在錯誤的地方尋找。在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);