2012-12-17 38 views
0

我有一個問題,有關更改具有一些表單信息,但可能會導致重複的URL。用一句話來解釋很難。所以我有一個搜索表單,並嘗試使用下拉菜單進行分頁。該網址將是這樣的:jQuery更改網址與表格的答案

http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit

...和下​​面的代碼添加頁面調用就好了(例如)

http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit&page=2

但是,如果他們再次更改頁面,它會重複的頁面調用,這樣它會

http://www.site.com/page/?name=Amanda&state=WA&approved=-2&form_date=&submit=Submit&page=2&page=2

我知道如何通過PHP修復它,但如果可能的話,我想保留在jQuery中。以下是我的jQuery調用。我需要做一個indexOf調用嗎?這是唯一的方法嗎?我以爲還有另一種方式,所以我想我會問。

$('#page').change(function(){ 
    var pathName = window.location.search; 
    var page_change = $('#page option:selected').val(); 
    if(pathName == ""){ 
     window.location.replace("?page="+page_change); 
    } else { 
     window.location.replace(pathName+"&page="+page_change); 
    } 

});

謝謝!

回答

0

這是你的意思嗎?

$('#page').change(function(){ 
    var pathName = window.location.search; 
    var page_change = $('#page option:selected').val(); 
    if(pathName == ""){ 
     window.location.replace("?page="+page_change); 
    } else { 
     path_arr = pathName.substr(1).split('&'); 
     new_path = new Array(); 
     for(p in path_arr) { 
      if (path_arr[p].indexOf('page') == -1) { 
       new_path.push(path_arr[p]); 
      } 
     } 
     window.location.replace('?' + new_path.join() + '&page=' + page_change); 
    } 
}); 
+0

這很棒!我只需稍微調整一下代碼就可以了,效果非常好!謝謝! :) – cbloss793