我正在尝试创建一个按钮,onclick会向页面添加一些新的cl_no
元素,但html
不会附加到新对象。
jQuery
现在这里是该代码的<script>
jQuery(document).ready(function(){
jQuery("input[type='button']").click(function(){
var ask=confirm('Are you sure');
if(ask){
var n=jQuery(this).parent();
var s=jQuery(this).prop('id');
n.html('Select Picture: <br><input type="file" name="'+s+'" id="'+s+'" required>');
}
}
});
jQuery(":file").change(function() {
var na=jQuery(this).val();
alert(na);
});
});
</script>
示例:
form
因此,当我点击<form>
<div><img src="image/source"><br>
<input type="checkbox" required value="1" name="product1">image is ok<br>
<input type="button" value="change image" id="product1" name="product1b"></div>
<input type="file" name="product2">
</form>
时button
对此进行了更改:
form
问题是jQuery函数<form>
<div>
Select Picture: <br>
<input type="file" name="product1" id="product1" required>
</div>
<input type="file" name="product2">
</form>
适用于jQuery(":file").change(function() {
但不适用于product2
,因为页面加载时它不存在,product1
没有附加到它。
答案 0 :(得分:3)
当元素是动态的时,您必须使用委托事件:
jQuery(document).on('change', ':file', function(){
// do stuff
});