jQuery MVC3 AJAX回调更新下拉列表不工作在IE6



我有下面的jQuery来更新一个下拉列表基于另一个下拉列表的选定值:

$("#FirstDropDownList").change(function () {
    $.get('/MyController/GetSecondDropDownListValues/' + $(this).val(), function (response) {
        var ddlValues = $.evalJSON(response);
        var ddlSecondDropDownList = $("#SecondDropDownList");
        // clear all previous options 
        $("#SecondDropDownList> option").remove();
        // populate the values of SecondDropDownList
        for (i = 0; i < ddlValues.length; i++) {
            ddlSecondDropDownList.append($("<option />").val(ddlValues[i].Id).text(ddlValues[i].Name));
            }
    });
});

似乎只有当提交按钮被按下时回调才有效。

浏览器抛出了一个404错误。它在Chrome, IE7+, Firefox等中运行良好。不幸的是,我们的客户使用IE6。

回答我自己的问题,似乎IE6没有正确地解决路径。我将其修改为从路径中删除控制器名称:

$.get('GetSecondDropDownListValues/' + etc

这似乎可以在IE6和更新版本的IE中解决这个问题。

我有另一个问题,其中回调缩短了第二个下拉列表的宽度(它们都设置为100%)。给它们一个特定的宽度可以解决这个问题,但这并不理想。噢,好痛。

最新更新