2016-08-03 50 views
-1

我有一個URL修改URL中的特定參數值,而不重新加載頁面

http://localhost/revamp/search.php?city=chennai&V&locality=mylapore&sort_val=sort_price

在這個URL,我只需要更新的URL sort_val=sort_distance上選擇距離選項,無需重新加載頁面。

<select name="sort_val" class="sort_select"> 
<option value="sort_distance">Sort by Distance</option> 
<option value="sort_price">Sort by Price</option> 
<option value="sort_ratings">Sort by Ratings</option> 
</select> 
+1

你有沒有試着用搜索引擎呢? 1 - 選擇選項時觸發Javascript事件; 2 - 用javascript更改url參數;然後把那兩個放在一起 –

回答

1

嗨,你可以使用下面的解決方案,我希望它會對你有幫助。

$(document).ready(function(){ 
    var queries = {}; 
    $.each(document.location.search.substr(1).split('&'), function(c,q){ 
     var i = q.split('='); 
     queries[i[0].toString()] = unescape(i[1].toString()); // change escaped characters in actual format 
    }); 
    $(".sort_select").change(function(){ 
     queries[$(this).attr('name')]=$(this).val(); 
    history.pushState({}, '', "?"+$.param(queries)); 
    }); 
}) 

謝謝:)

+0

它正在工作。但是,URL中的'+'由'%2B'代碼替換,並且在解碼時,它將'%2B'轉換爲'+',這需要在這兩個詞之間有一個'空格' –

+0

@VyshnaviSamudrala,請參閱http ://api.jquery.com/jquery.param/更詳細的信息,如果你仍然堅持..請給我留言..我在這裏。 :)不要忘記標記爲正確的和投票;) –

+0

謝謝@VyshnaviSamudrala,請嘗試與jsfiddle https://jsfiddle.net/qqbztc6z/讓我知道如果你需要我的幫助;) –

相關問題