Javascript影响两个下拉菜单

javascript affecting both drop downs

本文关键字:两个 下拉菜单 影响 Javascript      更新时间:2023-09-26

我有两个下拉菜单,下面是代码,我的第二个下拉菜单依赖于我的第一个下拉菜单,所以当我从第一个下拉菜单中选择时,它会根据我在第一个下拉菜单中选择的内容在第二个下拉菜单中显示选项。然后,当我从第二个下拉菜单中选择一个选项时,它将调用PHP页面。但是现在的情况是,当我从第一个下拉菜单中选择一个选项时,页面就会刷新,而不给第二个下拉菜单选择的选项。

<tr>
<td align="center"><select name="Ticket" id="Ticket">
<option value="" selected="selected">Please Select...</option>
<option value="Option1">Option1</option>
<option value="Option2">Option2</option>
</select></td>
<tr>
<td align="center"><select name="Category" size="1" id="Category">
<option value="" selected="selected">--</option>
<option value="Select1.php" class="Option1">Select1</option>
<option value="Select2.php" class="Option2">Select2</option>
</select><input type="submit" value="Go" id="submit"/></td>
</tr>
这是我的js代码第二个下拉菜单将调用PHP页面,

更新:我已经更新了jquery和页面不刷新,当我从我的第一个下拉菜单中选择,但现在发生的是它试图重定向的页面已经,只要我从第一个下拉菜单中选择…我希望它发生在第二个下拉菜单上,而不是第一个…

$(function() {
$("#submit").hide();
$("#form1 select").change(function() {
    window.location = $("#form1 select option:selected").val();
})

});

这应该能奏效。当你点击"转"按钮时,页面才会重定向。

$(function () {
    $('#Ticket').change(function() {
        var optionClass = $(this).val();
        $('#Category option:not(:first)').hide();
        if (optionClass) {
            $('#Category').find('.' + optionClass).show();
        }
    });
    $('#submit').click(function () {
        window.location = $("#Category").val();
    });
});

如果您想在第二个selectlist选项被选中后立即重定向,请替换$('#submit').单击....

$(function() {
    $('#Ticket').change(function() {
        var optionClass = $(this).val();
        $('#Category option:not(:first)').hide();
        if (optionClass) {
            $('#Category').find('.' + optionClass).show();
        }
    });
    $('#Category').change(function() {
        var url = $(this).val();
        if (url) {
            window.location = url;
        }
    });
});

变化

$("#form1 select").change(function() {
    window.location = $("#form1 select option:selected").val();
})

$("#Category").change(function() {
    window.location = $(this).val();
})