繁体   English   中英

从下拉列表中选择值以转到URL

[英]Selecting Value from drop downs to go to URL

我正在尝试设置下拉菜单,并让最终选择带您到URL。 我可以使各种下拉工作,但浏览器在您做出最终选择后没有做任何事情。

我可以靠近,但后来我失去了隐藏不适用的其他下降的能力!

 <tr> <td> <p align="center"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <label for="qmt-vehicle">Vehicle:</label> <select id="qmt-vehicle" name="vehicle"> <option></option> <option class="BMW" value="BMW">BMW</option> <option class="Audi" value="Audi">Audi</option> </select> <p align="center"> <label for="qmt-manufacturer">Manufacturer:</label> <select id="qmt-manufacturer" name="manufacturer"> <option></option> <option class="BMW" value="http://www.google.com">BMW</option> <option class="BMW" value="http://www.google.com">&nbsp;&nbsp;&nbsp;M3</option> <option class="BMW" value="http://www.google.com">&nbsp;&nbsp;&nbsp;M5</option> <option class="Audi" value="Audi">Audi</option> <option class="Audi" value="http://www.google.com">&nbsp;&nbsp;&nbsp;A4</option> <option class="Audi" value="http://www.google.com">&nbsp;&nbsp;&nbsp;S4</option> </select> <script> $(function() { $("#qmt-vehicle").on("change", function() { var levelClass = $('#qmt-vehicle').find('option:selected').attr('class'); console.log(levelClass); $('#qmt-manufacturer option').each(function() { var self = $(this); if (self.hasClass(levelClass) || typeof(levelClass) == "undefined") { self.show(); } else { self.hide(); } }); }); }); </script> <p align="center"> </td> </tr> 

您只需将其添加到脚本中:

 $("#qmt-manufacturer").on("change",function()
     {
        window.location.href = $('#qmt-vehicle').find('option:selected').attr("value");
    });

您可以像这样修改select标签:

<select id="qmt-manufacturer" name="manufacturer" onchange="location = this.options[this.selectedIndex].value">

(取自这个问题 - > 使用<option>标签内的href链接

我知道这不是一个答案,因为@DinoMyte已经回答了它...但是要简化你的代码一点点..使用

$('#qmt-manufacturer').val('').find('> option').hide();
$('#qmt-manufacturer > option[class="'+levelClass+'"]').show();

代替

$('#qmt-manufacturer option').each(function () {
         var self = $(this);
        if (self.hasClass(levelClass)|| typeof(levelClass) == "undefined") {
             self.show();
         } else {
             self.hide(); 
         }
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM