Начальное состояние раскрытия на основе данных GET - PullRequest
0 голосов
/ 19 декабря 2009

У меня есть модель объектов в выпадающем меню:

<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 ]

2 голосов
/ 19 декабря 2009

да, может.

Прежде всего, нам нужно создать функцию для разбора строки запроса.

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 голос
/ 19 декабря 2009

Если я правильно понимаю, если пользователь заходит на /rank/objects/?group_select=1, вы хотите, чтобы по умолчанию была выбрана опция «Первая группа»?

Большинство людей решают эту проблему, используя серверный скрипт. Но если вы хотите, это возможно и в Javascript.

Я бы начал с извлечения "числа" из location.search, а затем использовал бы $("#group_select").val(number).

в jQuery.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...