使用Jquery控制两个下拉列表(预填充)
我在使用双列表下拉选择器时遇到一些问题。我以前曾尝试使用select选项进行排列,但在尝试动态隐藏选项时遇到了重大问题 使用ul li的另一个好处是,我可以使它的风格更加跨浏览器友好,也更容易(正如我从其他stackoverflow问题中了解到的) 我发现的其他解决方案都需要某种形式的加载,比如AJAX,来填充第二个列表,但这不是一个选项,因此整个列表都将预加载。可以添加/删除类和其他属性使用Jquery控制两个下拉列表(预填充),jquery,drop-down-menu,html-lists,html-select,Jquery,Drop Down Menu,Html Lists,Html Select,我在使用双列表下拉选择器时遇到一些问题。我以前曾尝试使用select选项进行排列,但在尝试动态隐藏选项时遇到了重大问题 使用ul li的另一个好处是,我可以使它的风格更加跨浏览器友好,也更容易(正如我从其他stackoverflow问题中了解到的) 我发现的其他解决方案都需要某种形式的加载,比如AJAX,来填充第二个列表,但这不是一个选项,因此整个列表都将预加载。可以添加/删除类和其他属性 <ul> <li>Volvo</li> <li&
<ul>
<li>Volvo</li>
<li>Audi</li>
<li>BMW</li>
<li>Ford</li>
<li>Jeep</li>
</ul>
<ul>
<li>[Choose Brand first]</li> <!-- visible if nothing chosen in 1st -->
<li>[Choose model]</li> <!-- visible for all brands -->
<li class="volvo">S80</li>
<li class="volvo">V70</li>
<li class="volvo">XC90</li>
<li class="audi">A8</li>
<li class="audi">A6</li>
<li class="audi">A4</li>
<li class="bmw">X1</li>
<li class="bmw">M6</li>
<li class="ford">fiesta</li>
<li class="ford">Fiesta</li>
<li class="ford">Mustang</li>
<li class="ford">Explorer</li>
<li class="jeep">Wrangler</li>
<li class="jeep">Cherokee</li>
</ul>
- 沃尔沃
- 奥迪
- 宝马
- 福特
- 吉普车
- [首先选择品牌]
- [选择型号]
- S80
- V70
- XC90
- A8
- A6
- A4
- X1
- M6
嘉年华
嘉年华
野马
- Explorer
牧马人
切诺基
我想要的是:
- 如果在第一个列表中没有选择,则在中不会显示任何车型 第二份名单
- 如果在第一个列表中选择“沃尔沃”,则第二个列表中仅显示沃尔沃级车型
事先谢谢我认为这很好地解决了问题: 我不会说代码已经优化到了最佳状态,但它可以在所有最新的浏览器上运行(Safari、Opera、Chrome、Firefox、InternetExplorer10、9和8,7[在怪癖模式下])。 它所做的是:
- 选择第一个选项时,显示第二个
ul
- 当第一个值更改时,在第二个
中重新显示[选择]ul
- 当第一个ul的
等于第二个ul中的li类时,仅显示第二个ul中的值li数据值
我希望这对你有帮助 例如,您可以将类添加到ul列表中,并使用如下代码:
$(“.first ul>li”).on(“单击”,function(){var cl=$(this).text().toLowerCase();$(.second ul”).children().filter(function(i){if($(this).hasClass(cl))return$(this);}.css({'color':'red})代码>谢谢,但我似乎没有完全工作?你能看出我做错了什么吗?在小提琴中选择一个Jquery库并正确缩进函数,对我来说有效;-)啊!!呵呵,好的,谢谢:)很好的解决方案,非常感谢您的帮助!我只是对它做了一些简单的调整,以获得更多关于隐藏菜单的可用性(例如,在活动菜单外单击等),然后这正是我想要的