基于GET数据的初始下拉状态

时间:2009-12-19 20:25:17

标签: jquery select drop-down-menu

我在下拉菜单中有一个对象模型:

<select id="group_select" name="group_select">
    <option value="1">Group One</option>
    <option value="2">Group Two</option>
</select>

每个相应的对象都有一个详细信息页面,我希望在该页面中有一个链接,用户可以通过下拉菜单将用户发送到页面,其中包含已在菜单中选择的对象。我在想这可以用查询字符串完成,但我似乎错了。 (例如/rank/objects/?group_select=1

这样做的正确方法是什么?欢迎使用jQuery的答案,因为我已经在这个页面上使用了它。

谢谢!

2 个答案:

答案 0 :(得分:2)

是的,它可以。

首先,我们需要创建一个解析查询字符串的函数。

function queryString(key) {

  var longurl = window.location.search.substring(1);
  var splitted = longurl.split("&");


  for (i=0;i< splitted.length; i++) {
    var pair = splitted[i].split("=");

    var theKey = pair[0];
    var theValue = pair[1];

    if (theKey == key) {
      return theValue;
    }
  }

  // default is empty
  return "";

}

这是从菜单中选择的jquery脚本

$(function(){

  if( queryString("group_select") != "" ){
     $("#group_select").val( queryString("group_select") );
  }

});

答案 1 :(得分:1)

如果我理解正确,如果用户访问/rank/objects/?group_select=1,您希望默认选择“第一组”选项吗?

大多数人使用服务器端脚本解决此问题。但是如果你想要它也可以在Javascript中使用。

我首先从location.search中提取“数字”,然后使用jQuery的$("#group_select").val(number)