gpt4 book ai didi

javascript - jquery 检查 URL 是否已经有查询字符串

转载 作者:行者123 更新时间:2023-11-28 10:02:44 25 4
gpt4 key购买 nike

如果这是网站第一次加载,那么当用户选择医院的位置下拉列表时,它应该将 hos=somelocation 作为查询字符串传递给 URL。 http://mysite/events/Pages/default.aspx?hos=Munster

如果 URL 已经有一个以及其他查询字符串,例如 http://mysite/events/Pages/default.aspx?kwd=cancer&hos=Munster

然后我需要检查 &hos 是否已经在 window.location.search 中。如果已经存在,则将其具有的任何值替换为最近选择的值,而不像这样附加到它: http://mysite/events/Pages/default.aspx?kwd=cancer&hos=Munster&hos=Carmel -> 这不是我想要的。我希望这是 http://mysite/events/Pages/default.aspx?kwd=cancer&hos=Carmel一旦用户从位置下拉列表中选择卡梅尔。有人请帮忙!!

$(".LocationDropDown").change(function(e){
var querystring=window.location.search;
var currentURL=$(location).attr('href');
if(querystring=='') {
window.location.href= ( $(this).val() == "All Hospitals" ) ? 'http://mysitee/events/Pages/default.aspx':'http://mysite/events/Pages/default.aspx?hos='+$(this).val();
}
else
{
window.location.href = ( $(this).val() == "All Hospitals" ) ? 'http://mysitee/events/Pages/default.aspx':currentURL+'&hos'+$(this).val();
}
});

最佳答案

尝试BBQ plugin for jQuery 。如果您要像您的示例一样使用多个查询字符串值,那么它的使用非常简单,并且是最好的插件。

要获取变量,您可以使用:

$.bbq.getState( "kwd" );
$.bbq.getState( "hos" );

并设置状态:

$.bbq.pushState({ hos: Carmel }); //pushState has an optional 2nd param 
//for whether or not to delete all the params not in the push function or to keep them.

并在 URL 更改时执行函数:

$(window).bind( "hashchange", function(e) {
// In jQuery 1.4, use e.getState( "url" );
var url = $.bbq.getState( "url" );
});

关于javascript - jquery 检查 URL 是否已经有查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com