如果它第一次访问该网站并且没有添加任何查询,或者如果只有一个查询字符串附加到网址'?hos',如http://hospitalsite/events/Pages/default.aspx?hos=somevalue,那么我需要应用if条件...其他条件工作正常。如何查看是否有查询
$(".hospitalDropDown").change(function(e){
currentURL=$(location).attr('href');
if((currentURL == 'http://hospitalsite/events/Pages/default.aspx' or (....)) {
window.location.href= 'http://hospitalsite/events/Pages/default.aspx'+'?hos='+$(this).val();
} else {
window.location.href = ( $(this).val() == "All Hospitals" ) ? 'http://hospitalsite/events/Pages/default.aspx': currentURL +'&hos='+ $(this).val();
}
});
答案 0 :(得分:22)
我认为你喜欢这个价值:
var queryString = window.location.search;
如果您的网址是“http://www.google.com/search?q=findme”,则上述queryString
变量将等于“?q = findme”。
您可以检查是否为非空,以查看是否有查询字符串。
答案 1 :(得分:2)
不完全确定整个查询字符串,但这可以帮助您检查查询字符串中是否有单独的变量:
var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
return decodeURIComponent(s.split("+").join(" "));
}
$_GET[decode(arguments[1])] = decode(arguments[2]);
});
document.write($_GET["test"]);
这个问题还有一些答案可能会指向正确的方向:
答案 2 :(得分:0)
试试这个
$(".hospitalDropDown").change(function(e){
if(location.href.indexOf('?') == -1) {
window.location.href= 'http://hospitalsite/events/Pages/default.aspx'+'?hos='+$(this).val();
}
else{
window.location.href = ( $(this).val() == "All Hospitals" ) ? 'http://hospitalsite/events/Pages/default.aspx': location.href +'&hos='+ $(this).val(); }
});
答案 3 :(得分:0)
以下是获取查询字符串的javascript代码:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
如果此函数返回null,则没有查询字符串,您可以直接调用此函数。