2016-08-03 47 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/让我知道如果你需要我的帮助;) –

相关问题