0

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

});

4

2 回答 2

1

改变

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

$("#Category").change(function() {
    window.location = $(this).val();
})
于 2013-06-04T10:30:13.223 回答
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').click.... 替换为

$(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;
        }
    });
});
于 2013-06-04T13:02:31.483 回答