如何在javascript中表示2个父-子下拉列表?

如何在javascript中表示2个父-子下拉列表?,javascript,jquery,Javascript,Jquery,我有两个下拉列表,当用户选择dropdown1时,我需要使用与dropdown1选择相关的选项更新dropdown2 e、 g Dropdown1拥有汽车制造商:福特、丰田、本田 下拉列表2将是该特定制造商的汽车 我应该如何在javascript中存储这些数据 我希望我可以创建一个集合,比如某种字典或散列,这样我就可以很容易地填充每个下拉列表 我有数据库中的实际数据,然后在服务器端创建创建此数据结构所需的JavaScript。我想您指的是一个选择框。最好的方法是使用静态javascript,但让

我有两个下拉列表,当用户选择dropdown1时,我需要使用与dropdown1选择相关的选项更新dropdown2

e、 g

Dropdown1拥有汽车制造商:福特、丰田、本田

下拉列表2将是该特定制造商的汽车

我应该如何在javascript中存储这些数据

我希望我可以创建一个集合,比如某种字典或散列,这样我就可以很容易地填充每个下拉列表


我有数据库中的实际数据,然后在服务器端创建创建此数据结构所需的JavaScript。

我想您指的是一个选择框。最好的方法是使用静态javascript,但让它执行ajax调用以获取数据。第一个选择框中已经填充了html中的数据,当然可以使用服务器端脚本使用数据库中的数据来构建。在第一个选择框的更改事件中,您可以让ajax调用发送该框的值,并在此基础上让服务器发回第二个选择框的数据。与使用一点jQuery相比,您可以用检索到的数据填充第二个选择框。这是一个安静的科蒙案例,所以如果你需要…

从你的评论中,你应该可以在网上找到一些图坦卡蒙
我不想进行ajax调用,我想将客户端的所有数据存储在一个javascript对象中,我要问的是如何构造这些数据

那只是个主意

HTML

JS


这可能已经被问过一百万次了。您在右上角有搜索功能。我不想进行ajax调用,我想在javascript对象中存储客户端的所有数据,我在问如何构造这些数据。您是在问javascript对象应该是什么样的吗?因为你似乎已经计划好了其他的一切。我不想进行ajax调用,我没有太多的选项可以在第一个页面加载期间将其存储在客户端。你说你有服务器端脚本和javascript,所以我不明白你为什么不能进行ajax调用。但是,您确实可以发送javascript中已存储为多维数组的第二个select的所有数据。你会发送很多你永远不会使用的数据…它会导致事情无缘无故地慢下来,我说的不是分配数据。ddl1共有5项,ddl2共有20项。
<select id="cars_company">
    <option value="ford">Ford</option>
    <option value="toyota">Toyota</option>
</select>

<select id="cars">
    <option value="ford_car_one">Ford Car One</option>
    <option value="ford_car_two">Ford Car Two</option>
</select>
$(function(){
    cars={
        ford:{
            ford_car_one:'Ford Car One',
            ford_car_two:'Ford Car Two'
        },
        toyota:{
            toyota_car_one:'Toyota Car One',
            toyota_car_two:'Toyota Car Two'
        }
    };

    $('#cars_company').on('change', function(){
        $('#cars').html('');
        $.each(cars[$(this).val()], function(k, v){
            $('<option></option>').val(k).text(v).appendTo($('#cars'));
        });
    });
});​