2011-12-14 32 views
0

不工作,我有以下的jQuery更新基于另一个下拉列表中选择值下拉列表:jQuery的MVC3 Ajax回调更新DropDownList的在IE6

$("#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。

+0

可能的[http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie] [1]重复。尝试使用点击而不是更改。 [1]:http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie – danludwig 2011-12-14 04:36:34

回答

0

为了回答我自己的问题,似乎IE6没有正确解析路径。我改变它从路径中删除控制器名称:

$.get('GetSecondDropDownListValues/' + etc 

这似乎解决它在这两个IE6和IE的新版本。

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