以下代码可在Chrome和Firefox中正常运行。在IE 9中附加了选项,但文本始终为空白。
function populateDeveloperDropDownViaSkillProfileSpecificAjaxcall(dropdown, selectedProfileId, selectedDeveloperId)
{
$(dropdown).prepend("<option value=''></option>");
$.getJSON(ajaxActionToGetFilteredDeveloperList, { skillProfileId: selectedProfileId, "selectedDeveloperId": selectedDeveloperId },
function (data) {
var opt;
//Returns a List of ASP.NET MVC SelectListItem serialized to JSON
$.each(data, function (k, v) {
if (v != undefined && v.Selected == true) {
opt = new Option(v.Text, v.Value, true, true);
}
else {
opt = new Option(v.Text, v.Value);
}
$(dropdown).append(opt);
});
}
);
}
有人看到我做错了或者为此做了解决方法吗?如果这是一个愚蠢的错误,请道歉,但我已经花了几个小时,我只是在这一点上敲我的脑袋。
答案 0 :(得分:2)
这可能与影响过去IE版本的奇怪问题有关;要克服它,我会尝试强制IE在附加后更新选项文本:
if (v != undefined && v.Selected == true) {
opt = new Option(v.Text, v.Value, true, true);
}
else {
opt = new Option(v.Text, v.Value);
}
$(dropdown).append(opt);
$(opt).text(v.Text);
我不知道这是否是您问题的原因,但最好还是尝试。