【发布时间】:2019-10-26 16:02:40
【问题描述】:
我有一个带有 Select 选项和 FORM 的网页,当用户更改选择时, 我的 jquery 脚本函数将动态执行 ajax POST 以用不同的表单(新表单元素)替换原始表单。
但我注意到 Click 处理程序($(button).click() 事件)不适用于新生成的表单。 请在这方面提供帮助。
这是 Jquery 中的一个已知问题吗??
<select id=choice><option>....</select>
<div class=mytable>
<form id='dataform-10'>
.....
<button id="edit-10"></button>
</form>
<div>
<script>
$(function(){
$("#choice").change(function(){
$.get('/portal/go?id='+this.value, function(data, status){
//$(".mytable").hide();
$(".mytable").html(data);
$(".mytable").show();
});
});
});
</script>
<script>
$('[id^=edit]').on("click",function(e) {
e.preventDefault();
var num = this.id.slice(5);
var fdata = $('#dataform-'+num).serialize();
$.post('/portal/update', fdata, function(data, status){
alert(data);
});
});
</script>
【问题讨论】:
-
检查这个答案 - stackoverflow.com/a/6658774/2182949
-
您还没有添加任何代码。仅以minimal reproducible example 的形式使用相关代码编辑您的问题。
-
我在上面添加了代码。谢谢
-
您正在重建 mytable,因此附加了事件的
[id^=edit]按钮不再存在。您需要查看事件委托。查看副本。
标签: javascript jquery