0

少し質問があります。私はいくつかの都市で、異なる日付と異なる時間にイベントを開催しています。jQuery / PHP / HTML でサインアップフォームを作成しています。前の選択に基づいてオプションが表示されるようにします。

私は3つの都市 「City1」「City2」「City3」を持っています

「City1」は
「7月22日」と「7月25日」

そして「7月22日」は 「午後2時」と「午後5時」の2部制。

このようなフォームから始めるにはどうすればよいですか? 例を教えてください。

みんなありがとう

4

2 に答える 2

0

あなたのためにそれをするつもりはありませんが、私はあなたにいくつかのヒントを与えることができます. まず、select には onchange 関数が必要で、それぞれに一意の ID が必要です。例えば

<select onchange='update' id='box1'>

次に、onchange 関数は現在の要素を検出し、他のボックスを更新する必要があります。データを多次元配列として保存することをお勧めします。したがって、更新は次のようになります。

var id = this.options[this.selectedIndex].value;
var b2 = document.getElementById('box2');
while(b2.options.length > 0)b2.remove(0);//remove all options currently present
for(var i in boxoptions[id])b2.options[b2.options.length]=new Option(boxoptions[id]['name'], boxoptions[id]['value']);//add new options

そしてもちろん、データの配列が必要になりますが、残りは自分で把握できます。その助け?

于 2012-07-11T23:57:08.343 に答える
0

デモ: http://jsfiddle.net/eJn8g/

// data
var data = {
    "New York": ["July 20", "July 21"],
    "Miami": ["July 22", "July 23"],
    "San Francisco": ["July 24", "July 25"],
}

// populate menu1
for (var i in data) {
    $('#menu1').append('<option>' + i + '</option>');
}

// populate menu2 based on menu1's value
$('#menu1').change(function() {
    var key = $(this).val();
    $('#menu2').empty();
    for (var i in data[key]) {
        $('#menu2').append('<option>' + data[key][i] + '</option>');
    }
}).trigger('change');
于 2012-07-12T00:03:03.937 に答える