-2

2つのドロップダウンリストがあります。ユーザーがドロップダウン#1を選択すると、ドロップダウン#1の選択に関連するオプションでドロップダウン#2を更新する必要があります。

例えば

ドロップダウン#1には自動車メーカーがあります:フォード、トヨタ、ホンダ

ドロップダウン#2は、その特定のメーカーの車になります。

このデータをJavaScriptに保存するにはどうすればよいですか?

ある種の辞書やハッシュのようなコレクションを作成して、各ドロップダウンに簡単に入力できるようにしたいと思っていました。

データベースから実際のデータを取得し、サーバー側でこのデータ構造を作成するために必要なJavaScriptを作成します。

4

2 に答える 2

1

あなたのコメントから I don't want to make an ajax call, I want to store all the data client side in a javascript object, I am asking how to structure that data

だからただのアイデア

HTML

<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>

JS

$(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'));
        });
    });
});​

デモ

</ p>

于 2012-08-23T19:53:19.397 に答える
0

ドロップダウンとは、選択ボックスを意味していると思います。最良の方法は静的なJavaScriptを使用することですが、データを取得するためにajax呼び出しを実行するようにします。最初の選択ボックスには、すでにhtmlのデータが入力されています(データベースからのデータを使用してサーバー側スクリプトでオフコースを構築できます)最初の選択ボックスの変更イベントで、ajax呼び出しに値を送信させますそのボックスのデータに基づいて、サーバーに2番目の選択ボックスのデータを返送させます。少しのjQueryを使用するよりも、2番目の選択ボックスに取得したデータを入力できます。これは静かなコモンケースなので、必要に応じてオンラインでいくつかの小屋を見つけることができるはずです...

于 2012-08-23T19:24:34.423 に答える