IE 的问题是当我们编写脚本时它不会清除下拉列表
$("#ddlB").empty();
其他浏览器可以很好地使用这个片段。
所以我们需要使用
$("#ddlB")[0].options.length = 1;
这些清除了 IE 中旧的下拉状态和数据。我现在成功地创建了一个功能,我可以在其中克隆具有不同 html 控件的 div。以下是片段
$(function () {
$('.addRow').click(function () {
var clickNumrow = $(this).data('clickNumrow');
if (!clickNumrow) clickNumrow = 1;
$("#original").clone(true).insertBefore('.addnewRow').attr('id', 'original_' + clickNumrow);
$("#original_" + clickNumrow + " select#materialid")[0].options.length = 1;
$(this).data('clickNumrow', ++clickNumrow);
});
});
我终于可以刷新下拉项的选择更改下拉列表
$(function () {
$('select#categoryid').change(function () {
var url = "/Material/FillMatByCatId";
var ddlsource = this;
var prt = $(this).parent().parent().parent().attr('id');
var ddltarget = '#' + prt + ' select#materialid';
if ($(this).val() != '') {
$.getJSON(url, { CatId: $(this).val() }, function (data) {
$(ddltarget)[0].options.length = 1;
$(ddltarget).empty();
$.each(data, function (index, optionData) {
$(ddltarget).append("<option value='" + optionData.Value + "'>" + optionData.Text + "</option>");
});
});
}
});
});