使用Javascript将URL中的值传递到下拉列表中

时间:2011-12-21 10:52:19

标签: javascript

我有一个网址如下

http://*****************?ContentId=1335&clientName=Sam&clientPhone=123&clientEmail=an@gmail.com&clientCountry=United%20Kingdom.

clientCountry是我表单中下拉列表的名称,我想使用Javascript将值(英国)传递到该下拉列表中。

到目前为止我能够做到这一点

function getUrlVars()
{
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;
}
var first = getUrlVars()["clientName"];
var second = getUrlVars()["clientPhone"];
var third = getUrlVars()["clientEmail"];
var fourth = getUrlVars()["clientCountry"];

现在我不知道如何将变量4th传递到下拉列表中。任何人都可以协助,因为我是javascript的新手吗?

1 个答案:

答案 0 :(得分:0)

如果您已经填充了下拉列表,这应该可以用来预先选择URL中的值:

var dropDowns = document.getElementsByTagName('select'), opts, i;
for(i = 0, l=dropDowns.length;i<l;++i){
  if(dropDowns[i].name === 'countryList'){
    opts = dropDowns[i].getElementsByTagName('option');
    for(i = 0, l = opts.length;i<l;++i){
      if(opts[i].value === fourth){
        opts[i].selected = true;
        break;
      }
    }
    break;
  }
}

确保在通过绑定到文档就绪事件打印select的标记后运行,或者在打印下拉列表的标记后将其包含在页面中的某个位置。它使用您包含的代码中的第四个变量,因此在运行此代码时应该已运行。