抓取URL参数并设置选择选项

时间:2014-08-14 18:46:59

标签: javascript jquery select option

我正在尝试获取http://url.com?send_volume=send_300_gb的查询参数,然后根据此设置表单选择选项。

我可以获取获取值并分配给var以在分配中使用,但是对于我的生活,我无法理解为什么我无法将选项设置为选中:

<script type="text/javascript">
//This will return a given query string parameter from the current url
function getParameterByName(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

var send_volume_value = getParameterByName('send_volume');

$(document).ready(function () {
  $("select[name='send_volume'] > option[value="+ send_volume_value +"]").attr('selected','selected');

});
</script>

选择表单如下所示:

<select class="hs-input" id="send_volume-33ab6f27-e084-4f5d-9690-76e8fec2316d_8893" name="send_volume">
   <option value="__PLACEHOLDER__">- Please Select -</option>
   <option value="send_300_gb">Send up to 300GB/month</option>
   <option value="send_500_gb">Send up to 500GB/month</option>
   <option value="send_1_tb">Send up to 1TB/month</option>
   <option value="send_custom">Custom</option>
</select>

2 个答案:

答案 0 :(得分:0)

如果参数send_volume的值与选项的某个值匹配,例如,请说

send_volume ==“testval”

,选项是

<select name="send_volume">
    <option value="">Select one</option>
    <option value="val1">Val 1</option>
    <option value="val2">Val 2</option>
    <option value="val3">Val 3</option>
    <option value="val4">Val 4</option>
</select>

然后你就应该“选择”一个选项

$("select[name='send_volume']").val(send_volume);

答案 1 :(得分:0)

<select>个元素不支持value属性,但是他们的DOM API支持value属性,可用于设置选择的值

$("select[name=send_volume]").val(send_volume_value);

但是,你这样做的方式也应该有效,但我怀疑send_volume_value的值不正确,或者没有该值的选项。基本上,文档中没有与您的选择器匹配的元素。