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

Javascript 使用下拉列表作为查询字符串,javascript,html,drop-down-menu,query-string,Javascript,Html,Drop Down Menu,Query String,我在表单中有一个下拉列表 <form id="myForm"> <select> <option>ABC</option> <option>xyz</option> </select> </form> 基础知识 xyz 单击某个项目时,我希望将用户定向到一个新页面(即“newPage.aspx”),此页面将显示所选选项,例如在标签(Label1)内

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

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

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

我还将2个选项存储在一个数组中-> myArray=新数组(“ABC”、“xyz”),如果有帮助的话

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

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

    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;
    });
    
    参考资料:

      • jQuery it:

          $('select','#myForm').change(function() {
            document.location.href = "/newPage.aspx?value=" + $(this).val();
          });
        
        更好的解决方案(提交表单,对搜索引擎更友好)是:

        HTML:


        为什么不在每个选项中加一个指向页面的href?这样做有问题吗?你需要给
        一个
        名称
        ,给
        一个
        。提交
        工作。
        
        <form id="myForm" method="get" action="newPage.aspx">
          <select name="mySelect">
            <option value="ABC">ABC</option>
            <option value="xyz">xyz</option>
          </select>
        </form>
        
          $('select','#myForm').change(function() {
             $('#myForm').submit();
          });