2010-09-30 105 views
0

我目前正在自動下載此頁上的數據:在URL中包含javascript查詢參數?

http://jcmramp.pjm.com/jcmRamp/ramp-data.jsp 

我想以某種方式能夠控制整個URL,這樣,比方說,當我使用的網址:

jcmramp.pjm.com/jcmRamp/ramp-data.jsp?directionSlt=1 

選擇位置參數的選擇是PJM當我做

jcmramp.pjm.com/jcmRamp/ramp-data.jsp?directionSlt=2 

選擇位置參數的選擇是MISO

這裏是在HTML代碼中的相關部分,我可以看到:

<td colspan="4" align="top"> 
    <label id="selectLbl" for="directionSlt" unselectable="on">Location:</label>&nbsp;&nbsp;&nbsp;&nbsp; 
    <select name="directionSlt" id="directionSlt" size="1" onchange="refresh()"> 
    <option value="1">PJM 
    <option value="2">MISO 
    </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    <label class="linkLabel" id="helpLbl" onmouseover="this.style.color='orange'" onmouseout="this.style.color='navy'" onclick="javascript:openHelpPage();"> - README (ramp viewer description document)</label>&nbsp;&nbsp;&nbsp;&nbsp; 
    <br><br> 
</td> 

然而,這似乎並沒有工作,不管是什麼,我把對directionSlt,我得到PJM,這是默認選擇。

我只是想知道是否有任何其他方式操縱URL來改變選項。

如果沒有,是否有可能以編程方式(使用VB.Net)在不同的選項之間切換?

(注:第二個和第三個網址的HTTP標誌被去除按網站的限制)

回答

1

試試這個:

(function ($) { 

    $.locationSearch = function() { 
     var resultado = []; 
     try { 
      var search = window.location.search; 
      if (search == null || search == '') 
       return []; 

      search = search.replace(/\?/, '').split('&'); 
      for (var i in search) 
       resultado[search[i].split('=')[0]] = search[i].split('=')[1]; 
     } 
     catch (ex) {} 

     return resultado; 
    }; 

})(jQuery); 

$(function() { 

    var query = $.locationSearch(); 

    if (typeof query['directionSlt'] != 'undefined') { 
    $('#directionSlt').val(query['directionSlt']); 
    } 

}); 
+0

我想我在尋找一起傳遞參數的循行的東西URL,不能添加其他Javascript ... – AZhu 2010-09-30 20:05:58

+0

無論如何感謝! – AZhu 2010-09-30 20:07:12