3

<select>我的网页上有三个下拉菜单:成人儿童婴儿(想想航空公司预订网站)。

一般来说,成人下拉菜单的选项编号为 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;
        }
    }
}

这是我在成人下拉列表事件中调用的函数onchange,并且我编写了用于根据成人下拉列表的选择显示子下拉列表值的脚本。

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

Modify your code according to this, change count logics, if required, and it should be good to go.. Hope it helps :)

于 2012-12-28T12:03:19.003 回答