使用下拉列表作为查询字符串

时间:2012-03-28 19:08:14

标签: javascript html drop-down-menu query-string

我在表格中有一个下拉列表

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

单击某个项目时,我希望将用户定向到新页面(即“newPage.aspx”),此页面将显示所选的选项,例如在标签内(Label1)

我还有2个选项存储在一个数组中 - &gt; myArray = new Array(“ABC”,“xyz”),如果有帮助

3 个答案:

答案 0 :(得分:1)

jQuery it:

  $('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();
  });

答案 1 :(得分:0)

  1. 使您的下拉列表成为ASP.NET服务器控件(因为您使用的是aspx)
  2. 在您的代码隐藏中,从下拉列表中获取所选值
  3. 在您的代码隐藏中,Response.Redirect指向URL(newpage.aspx?value = ABC)

答案 2 :(得分:0)

目前未经测试,但我认为这应该有效:

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

参考文献: