请教个问题html_var = '<tr><td width="200" height="40" align="right" bgcolor="#FFFFFF" >添加相片:</td><td><input type="file" name="img1" id="img1" value=""></td></tr>';
$("#img_show").append(html_var);$('#img1').change(function(){
html_var = '<tr><td width="200" height="40" align="right" bgcolor="#FFFFFF" >添加相片:</td><td><input type="file" name="img2" id="img2" value=""></td></tr>';
$("#img_show").append(html_var);
}); $('#img2').change(function(){
html_var = '<tr><td width="200" height="40" align="right" bgcolor="#FFFFFF" >添加相片:</td><td><input type="file" name="img3" id="img3" value=""></td></tr>';
$("#img_show").append(html_var);
});这样子!请问为什么第一个change可以触发!第二个就不可以了!

解决方案 »

  1.   

    你在写img1的chang事件事,img1 对象已经创建,但是你写的img2的chang事件时,img2还没创建.等触发了img1的chang事件,产生img2时,这时没有为img2指定chang事件html_var = '<tr><td width="200" height="40" align="right" bgcolor="#FFFFFF" >添加相片:</td><td><input type="file" name="img1" id="img1" value=""></td></tr>'; 
    $("#img_show").append(html_var);

    $('#img1').change(function(){ 
    html_var = '<tr><td width="200" height="40" align="right" bgcolor="#FFFFFF" >添加相片:</td><td><input type="file" name="img2" id="img2" value="" onpropertychange="alert(122)"></td></tr>';
    $("#img_show").append(html_var); $('#img2').change(function(){ html_var = '<tr><td width="200" height="40" align="right" bgcolor="#FFFFFF" >添加相片:</td><td><input type="file" name="img3" id="img3" value=""></td></tr>'; 
    $("#img_show").append(html_var); });

    });