jQuery - 根据其值设置选定的下拉列表

时间:2013-04-24 11:25:37

标签: jquery select

我尝试做的是以下内容。

有人通过GET将表单发送到我的结果页面。提交结果页面时,URL看起来像这样,例如

index.php?Reiseziel=Italy

现在,有一个名为#filtercountry的选项,它包含可用于过滤的所有国家/地区。当设置GET值Reiseziel时,我想通过select的值迭代并选择正确的选项。

例如,select包含

<select name="Reiseziel" id="filtercountry">
<option value="Please choose..." />
<option value="Germany" />
<option value="Italy" />
<option value="Spain" />

网址包含“index.php?Reiseziel = Italy”,因此我想将选项值“italy”设置为已选中。我将如何实现这一目标?

5 个答案:

答案 0 :(得分:0)

查看此主题: Selecting option by text content with jQuery

我相信这完全符合您的要求。

答案 1 :(得分:0)

使用此功能described here

function GetURLParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}​

然后您可以像这样使用它:

var reiseziel= GetURLParameter('Reiseziel');

然后使用变量设置所选值。

答案 2 :(得分:0)

使用此函数从查询字符串中获取值,它使用RegExp

function getParameter(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

然后像这样设置下拉列表的值:

$('#filtercountry').val(getParameter('Reiseziel'));

或者这个:

var reiseziel = getParameter('Reiseziel');
$('#filtercountry').val(reiseziel);

答案 3 :(得分:0)

 function QueryString(key) {
                fullQs = window.location.search.substring(1);
                qsParamsArray = fullQs.split('&');
                for (i = 0; i < qsParamsArray.length; i++) {
                    strKey = qsParamsArray[i].split("=");
                    if (strKey[0] == key) { return strKey[1]; }
                }
            }

var Reisezielnew = QueryString("Reiseziel");

您将在country name中获得Reisezielnew,您可以根据需要使用它。

答案 4 :(得分:0)

function getQueryStringFromUrl()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

 $(document).ready(function () {
        var name = getQueryStringFromUrl("Reiseziel");
        $('#dropdownid').val(name);
    });