要排序的Javascript或JQuery
您好,我有一个选择菜单以及三个-和第二个两填充的基础上的第一个选择,一个1,2,3选择器…-我真的需要对第二排和第三排进行排序,除了第一排。。。我看过一些关于如何排序的片段。。。但我不知道如何让它工作,因为代码是在页面加载时启动的,并且菜单直到从第一个菜单中选择后才填充 非常感谢您的帮助 我想我需要的是这个,但我不知道如何让它工作 如果我理解正确,这将为您指出一个正确的方向,根据前面的选择动态更改选择菜单选项 标记:要排序的Javascript或JQuery,javascript,jquery,html,Javascript,Jquery,Html,您好,我有一个选择菜单以及三个-和第二个两填充的基础上的第一个选择,一个1,2,3选择器…-我真的需要对第二排和第三排进行排序,除了第一排。。。我看过一些关于如何排序的片段。。。但我不知道如何让它工作,因为代码是在页面加载时启动的,并且菜单直到从第一个菜单中选择后才填充 非常感谢您的帮助 我想我需要的是这个,但我不知道如何让它工作 如果我理解正确,这将为您指出一个正确的方向,根据前面的选择动态更改选择菜单选项 标记: <select id="select1"> <opt
<select id="select1">
<option disabled selected>Please select an option.</option>
<option>Option One</option>
<option>Option Two</option>
</select>
<select id="select2">
<option>g</option>
<option>b</option>
<option>j</option>
<option>c</option>
<option>d</option>
<option>h</option>
<option>e</option>
<option>h</option>
<option>a</option>
<option>i</option>
<option>f</option>
</select>
jQuery:
$(document).on('change', '#select1', function(){
var options = $('#select2 option');
var arr = options.map(function(_, o) {
return {
t: $(o).text(),
v: o.value
};
}).get();
arr.sort(function(o1, o2) {
return o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0;
});
options.each(function(i, o) {
console.log(i);
o.value = arr[i].v;
$(o).text(arr[i].t);
});
});
希望这有帮助
编辑:更改以使第一个菜单触发第二个菜单的排序。还更新了fiddle。jsfiddle中的一些代码说明了这个问题,但元素之间的关系还不清楚……请更具体一点,谢谢,它看起来确实适用于Change函数,我试图对下拉列表的结果进行排序,但其中没有任何内容,在从第一个菜单中选择某个菜单之前,无需排序:/您知道二级菜单选项是什么吗?它们是从文本文件中驱动的,因此它们可以每月更改一次,这就是为什么我试图让它对填充的内容进行排序…所以第一个菜单实际上只是第二个菜单的排序选项?它是品牌选择器,第二个是系列选择器,第三个是模型。。。。因为有上百种型号