Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要排序的Javascript或JQuery_Javascript_Jquery_Html - Fatal编程技术网

要排序的Javascript或JQuery

要排序的Javascript或JQuery,javascript,jquery,html,Javascript,Jquery,Html,您好,我有一个选择菜单以及三个-和第二个两填充的基础上的第一个选择,一个1,2,3选择器…-我真的需要对第二排和第三排进行排序,除了第一排。。。我看过一些关于如何排序的片段。。。但我不知道如何让它工作,因为代码是在页面加载时启动的,并且菜单直到从第一个菜单中选择后才填充 非常感谢您的帮助 我想我需要的是这个,但我不知道如何让它工作 如果我理解正确,这将为您指出一个正确的方向,根据前面的选择动态更改选择菜单选项 标记: <select id="select1"> <opt

您好,我有一个选择菜单以及三个-和第二个两填充的基础上的第一个选择,一个1,2,3选择器…-我真的需要对第二排和第三排进行排序,除了第一排。。。我看过一些关于如何排序的片段。。。但我不知道如何让它工作,因为代码是在页面加载时启动的,并且菜单直到从第一个菜单中选择后才填充

非常感谢您的帮助

我想我需要的是这个,但我不知道如何让它工作

如果我理解正确,这将为您指出一个正确的方向,根据前面的选择动态更改选择菜单选项

标记:

<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函数,我试图对下拉列表的结果进行排序,但其中没有任何内容,在从第一个菜单中选择某个菜单之前,无需排序:/您知道二级菜单选项是什么吗?它们是从文本文件中驱动的,因此它们可以每月更改一次,这就是为什么我试图让它对填充的内容进行排序…所以第一个菜单实际上只是第二个菜单的排序选项?它是品牌选择器,第二个是系列选择器,第三个是模型。。。。因为有上百种型号