3

<select>私の Web ページには、AdultChildInfantの3 つのドロップダウンがあります (航空会社の予約サイトを考えてみてください)。

一般に、大人のドロップダウンには 1 ~ 9 の番号が付いたオプションがあり、子供のドロップダウンには 0 ~ 8 の番号が付いたオプションがあり、幼児のドロップダウンには 0 ~ 1 の番号が付いたオプションがあります。ユーザーがAdult4を選択した場合、Childドロップダウンの使用可能な数値は 0 ~ 5 を反映するように変更され、Infantドロップダウンは 0 ~ 4 を反映するように変更される必要があります。

JavaScriptを使用してこれを達成しようとしていますが、行き詰まり続けています。必要に応じてさらに情報を提供させていただきます。必要なものをお知らせください。

これが私がこれまでに持っているものです:

function MyApp(sender) {
    var ListBox1Id = '<%= ddl1.ClientID %>';
    var ListBox2Id = '<%= ddl2.ClientID %>';
    var ListBox3Id = '<%= ddl3.ClientID %>';

    var selectedIndex = document.getElementById(ListBox1Id).selectedIndex;
    var ii = document.getElementById(ListBox1Id).options[selectedIndex].value;
    var count = document.getElementById(ListBox1Id).length;

    if (ii != 0) {
        for (var k = 0; k <= count - ii; k++) {
            document.getElementById(ListBox2Id).value = k;
        }
    }
}

これは、 Adultドロップダウンのイベントで呼び出す関数であり、 Adultドロップダウンの選択に基づいてChildonchangeドロップダウンの値を表示するためのスクリプトを作成しました。

4

1 に答える 1

0
var ListBox1Id = '<%= ddl1.ClientID %>';
var ListBox2Id = '<%= ddl2.ClientID %>';
var ListBox3Id = '<%= ddl3.ClientID %>';

var count = $("#"+ListBox1Id+"option:selected").text();
var listbox2 = document.getElementById(ListBox2Id);

listbox2.empty();
for(var i=0; i++; i <= count){
listbox2.append(
    $('<option></option>').val(i).html(i)
);
}
var listbox3 = document.getElementById(ListBox3Id);

listbox3.empty();
for(var j=0; j++; j < count){
listbox3.append(
    $('<option></option>').val(j).html(j)
);
}

これに従ってコードを変更し、必要に応じてカウントロジックを変更すると、うまくいくはずです..お役に立てば幸いです:)

于 2012-12-28T12:03:19.003 に答える