全部,
我在 IE8 中遇到了这个奇怪的问题,涉及将模型数据绑定到应用了 CSS 宽度属性的 Html.DropDownListFor 元素。
我有一个父下拉列表,当更改时会导致数据查找,然后具有新数据的模型应该绑定到子下拉列表。
在 IE8 中,如果我尝试在 Html.DropListFor 元素中或通过 Javascript 属性添加 CSS 宽度属性,下拉列表将不会绑定到模型中的新数据。
如果我现在有宽度属性,即使在 IE8 中也可以正常工作。
代码:
@Html.DropDownListFor(model => model.EnrollmentToBatchDataContract.Spl, new SelectList(Model.SPLs, "Text", "Value"), "-- Please choose an SPL --", new {id="ddlSPL", name="ddlSPL"})
JS函数:
function updateSPL(data) {
$('#ddlSPL >option').remove();
$('#ddlSPL').append($('<option></option>').html(""));
for (var x = 0; x < data.SPLs.length; x++) {
$('#ddlSPL').append($('<option value="' + data.SPLs[x].Value + '"> ' + data.SPLs[x].Text + '</option>').html(data.SPLs[x].Text));
}
};
我知道模型正在更新并传递给 JS 函数。我测试了预期值是否在数据对象中。
这在 Chrome 和 FF 中也可以正常工作。
谢谢,德里克