2012-01-19 138 views
4

如果它第一次訪問該站點並且沒有添加任何查詢或者只有一個查詢字符串連接到URL'hos',如http://hospitalsite/events/Pages/default.aspx?hos=somevalue,那麼我需要應用if條件..the else條件正在fine..How我檢查,看看是否有一個查詢jquery檢查URL是否有查詢字符串

$(".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(); 
    } 
}); 

回答

20

我想你會喜歡這個值:

var queryString = window.location.search; 

如果您的網址是「HTTP ://www.google.com/search?q = findme「,那麼上面的queryString變量就會相等到「?q = findme」。

您可以檢查是否非空查看是否有查詢字符串。

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(); } 

    }); 
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"]); 

這個問題有更多一些答案可能會指向正確的方向:

how to get GET and POST variables with JQuery?

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,則可以直接調用這個函數。