在URL中包含javascript查询参数?

时间:2010-09-30 19:03:00

标签: java jquery vb.net url

我目前正在此页面上自动下载数据:

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

我想以某种方式控制网址,以便比如说,当我使用网址时:

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

为Location参数选择的选项是PJM,当我做

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

为Location参数选择的选项是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)在不同选项之间切换?

(注意:根据网站的限制删除第二个和第三个URL的HTTP符号)

1 个答案:

答案 0 :(得分: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']);
   }

});