2010-10-26 133 views
2

嘿家伙,我有一个疯狂的问题。我一直在Firefox上运行我的web应用程序,它工作正常。但是,我的客户将使用Internet Explorer。我不认为它会工作,我只是说,为了使用这个,你必须使用Firefox,所以我想纠正这个该死的错误。 我有3个dropdownlists,父母,父母/孩子和孩子。和填充这些列表是一个控制器的动作被称为的jQuery(我使用1.4.2)和函数调用$ .fn.loadselectJQuery MVC和Internet Explorer

$(function() { 
    $.fn.loadSelect = function (data) { 
     return this.each(function() { 
      this.options.length = 0; 
      var select = this; 
      $.each(data, function (index, itemData) { 
       var option = new Option(itemData.Text, itemData.Value); 
       $(select).append(option); 
      }); 
     }); 
    }; 
}); 

我的控制器动作返回一个JSON对象,当一个断点返回正确的操作。 现在发生的事情是父级dropdownlist是好的。因为正在调用loadselect函数来填充它。但是,由父级控制的第二个下拉列表父/子并控制子级,下拉列表中的所有数据都显示为空字符串。与孩子下拉列表相同,所有数据都显示为空字符串。这非常令人沮丧,当我从inet的浏览器查看源代码复制源代码并在inet资源管理器中打开该代码时,一切都很好。

回答

2

您可以使用jQueries DOM操作,以帮助这里:

$(function() { 
    $.fn.loadSelect = function (data) { 
     return this.each(function() { 
      this.options.length = 0; 
      var select = this; 
      $.each(data, function (index, itemData) { 
       var option = $('<option value="'+ itemData.Value +'">' + 
          itemData.Text +'</option>'); 
       $(select).append(option); 
      }); 
     }); 
    }; 
}); 
+0

不好意思问,但你可以使用这个我的代码? – 2010-10-27 16:26:16

+0

当然可以。查看编辑。 – Slappy 2010-10-27 22:35:25

+0

刚开始测试它。有用!谢谢您的帮助。 – 2010-11-01 22:23:04