javascript影响两个下降

时间:2013-06-04 09:35:09

标签: javascript jquery

我有两个下拉列表,下面是代码,我的第二个下拉列表依赖于我的第一个下拉列表,因此当我从第一个下拉列表中选择时,它将根据我在第一个下拉列表中选择的内容显示第二个下拉列表中的选项。然后当我从我的第二个下拉列表中选择一个选项时,它将调用一个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();
})

});

2 个答案:

答案 0 :(得分:1)

更改

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

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

答案 1 :(得分:1)

这应该可以解决问题。只有当您点击“开始”按钮时,该页面才会重定向。

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

如果您想在选择第二个选择列表选项后立即重定向,请替换$('#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;
        }
    });
});