2013-04-25 83 views
0

我有一个包含多个选择列表的页面。在用户做出选择并点击一个按钮后,我会将所选的选项和值添加到包含相同选择列表的不同页面中。使用URL查询将选择列表值设置为选中

我想通过循环查询并设置相应选择列表的值来使用查询在新页面上选择适当的值,以便新页面上的列表镜像它们刚刚来自的页面。

这是一个用于测试的代表性查询字符串; http://website.com/sign-up/?tf-from-country=Uruguay&tf-to-country=Canada

这是6小时的研究失败,但我不知道为什么。

if (window.location.search) { 
//console.log(window.location.search.substr(1).split('&')); 

    var qs = window.location.search.substr(1).split('&'); 

    for (var i=0; i< qs.length; i++){ 
     var param = qs[i].split('='); 
     // console.log('setting field', param[0], 'to', param[1]); 
     //$('.' + param[0]).addClass('foundit'); 
      // select list set to param 
      var element = '.' + param[0]; 
      $(element).val(param[1]).attr("selected", true); 
      //console.log(element); 
    } 

} 

回答

0

若要获取URL的瓦尔使用的功能:

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; 
} 

这将返回所有变量的关联数组。

+0

谢谢,但从查询字符串获取数据不是问题。设置选择列表上的值是问题。 – Fettabachi 2013-04-25 11:31:13