我把需求简化了一下便于说明
function Fill() {
    $("#div1").append($("<select id='sel1'></select><select id='sel2'></select>"));
    $("#sel1").html(GetHtml());
    $("#sel2").html(GetHtml());
}
function GetHtml() {
    var str = "<option value='1'>opt 1</option>" +
              "<option value='2'>opt 2</option>" +
              "<option value='3'>opt 3</option>" +
              "<option value='4'>opt 4</option>" +
              "<option value='5'>opt 5</option>" +
              "<option value='6'>opt 6</option>";
    return str;
}
很简单,就是动态添加两个下拉框,然后填充数据,代码执行没问题但是当我修改后,改成sel1项被选择后才绑定sel2,别的地方不变
function Fill() {
    $("#div1").append($("<select id='sel1'></select><select id='sel2'></select>"));
    $("#sel1").html(GetHtml());
    $("#sel1").change(function() { Fill2(); });
}
function Fill2() {
    $("#sel2").html(GetHtml());
}
function GetHtml() {
    var str = "<option value='1'>opt 1</option>" +
              "<option value='2'>opt 2</option>" +
              "<option value='3'>opt 3</option>" +
              "<option value='4'>opt 4</option>" +
              "<option value='5'>opt 5</option>" +
              "<option value='6'>opt 6</option>";
    return str;
}
这时问题出现了,在jquery1.2.6版本下,执行没有问题
但换成1.4.2后,在ie中执行时,sel2始终不会绑定数据,但火狐和chrome都正常。别的jquery版本我没试过
(注:其实不是没绑定,而是无法显示出来。如果我在Fill2里最后加上alert($("#sel2").html()),显示是有项目的请问这是怎么回事??