Используйте выпадающий список в качестве строки запроса - PullRequest
0 голосов
/ 28 марта 2012

У меня есть выпадающий список внутри формы

<form id="myForm">
    <select>
        <option>ABC</option>
        <option>xyz</option>
    </select>
</form>

При нажатии на элемент я хочу, чтобы пользователь был перенаправлен на новую страницу (например, «newPage.aspx»), и на этой странице будет отображаться выбранная опция, например внутри этикетки (Label1)

У меня также есть 2 опции, хранящиеся в массиве -> myArray = new Array ("ABC", "xyz"), если это помогает

Ответы [ 3 ]

1 голос
/ 28 марта 2012

jВопрос это:

  $('select','#myForm').change(function() {
    document.location.href = "/newPage.aspx?value=" + $(this).val();
  });

Лучшее решение (отправка формы, более удобная для поисковых систем) будет:

HTML:

<form id="myForm" method="get" action="newPage.aspx">
  <select name="mySelect">
    <option value="ABC">ABC</option>
    <option value="xyz">xyz</option>
  </select>
</form>

JavaScript:

  $('select','#myForm').change(function() {
     $('#myForm').submit();
  });
0 голосов
/ 28 марта 2012

В настоящее время не проверено, но я думаю, что это должно работать:

var sel = document.getElementById('myForm').getElementsByTagName('select')[0];

sel.onchange() = function(){
    var val = this.getElementsByTagName('option')[this.selectedIndex],
        url = 'http://newPage.aspx?option=',
        queryUrl = url + encodeURIComponent(val);

    window.location = queryUrl;
});

Ссылки:

0 голосов
/ 28 марта 2012
  1. Сделайте ваш раскрывающийся список серверным элементом управления ASP.NET (так как вы используете aspx)
  2. В своем коде, выберите выбранное значение из выпадающего списка
  3. В вашем коде, Response.Rirectirect для URL (newpage.aspx? Value = ABC)
...