如何使用javascript根据另一个下拉列表更改下拉列表值?

如何使用javascript根据另一个下拉列表更改下拉列表值?,javascript,asp.net,cascadingdropdown,Javascript,Asp.net,Cascadingdropdown,我的网页上有三个下拉列表:成人、儿童和婴儿航空订票网站 通常,成人下拉列表的选项编号为1-9,儿童下拉列表的选项编号为0-8,婴儿下拉列表的选项编号为0-1。如果用户选择成人值4,则儿童下拉列表可用数字应更改为反映0-5,婴儿下拉列表应更改为反映0-4 我正试图用javascript实现这一点,但一直被卡住。如果有必要,很乐意提供更多信息-请告诉我您需要了解的内容 以下是我到目前为止的情况: function MyApp(sender) { var ListBox1Id = '<%

我的网页上有三个下拉列表:成人、儿童和婴儿航空订票网站

通常,成人下拉列表的选项编号为1-9,儿童下拉列表的选项编号为0-8,婴儿下拉列表的选项编号为0-1。如果用户选择成人值4,则儿童下拉列表可用数字应更改为反映0-5,婴儿下拉列表应更改为反映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;
        }
    }
}
这是我在成人下拉列表的onchange事件中调用的函数,我已经编写了脚本,用于根据成人下拉列表的选择显示子下拉列表的值

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)
);
}

根据此修改您的代码,如果需要,更改计数逻辑,应该可以继续。。希望能有所帮助:

@milindiantwar我现在将在这里发布我的代码。您用来更改ddl值的逻辑是什么?也就是说,如果我们从成人ddl中选择4名成人,为什么儿童ddl为0-5,婴儿ddl为0-4???@Avishek,儿童DDL值从0到5.0,1,2,3,4,5开始。请查看任何机票预订网站。@Avishek试图询问为什么0-5的逻辑,我也想知道如果选择4成人,我们如何决定0-5儿童,我的意思是,如果我在成人下拉列表中选择5、6或7怎么办?我已经修改了行以获得计数变量。请检查。@Thiri:您检查过了吗?