gpt4 book ai didi

通过ajax更改内容后javascript不起作用

转载 作者:行者123 更新时间:2023-11-30 09:58:53 26 4
gpt4 key购买 nike

当我通过 ajax 更改页面内容时,我的功能停止工作。这是我的脚本:

$function(){
$( 'input[name="formtype"]:radio' ).change(
function(){
var formtype = $('input[name=formtype]:checked').val();
$.ajax({
url: '/changeform.php',
method: 'post',
data: {"type": formtype},
success: function (data) {
$(form).html(data);
}
})
}
);

$('input[name="set_address"]').on('change', function () {
$('input[name="university"]').prop('disabled',false);
$('input[name="school"]').prop('disabled',false);
}
}

这是我的基本内容:

<body>
<input type="radio" name="formtype" value="1" checked>
<input type="radio" name="formtype" value="2">

<form method="post" action="action.php">
<input type="checkbox" name="set_address" checked>
<input type="text" name="university" disabled>
</form>
</body>

当“formtype”改变时,ajax 返回这个表单的内容:

       <input type="checkbox" name="set_address" checked>
<input type="text" name="school" disabled>

现在,当我取消选中“set_address”复选框时,学校输入不会激活。我该如何解决?

最佳答案

目前您使用的称为“直接”绑定(bind),它只会附加到您的代码进行事件绑定(bind)调用时页面上存在的元素。

您需要使用 Event Delegation使用 .on()委托(delegate)事件方法,在动态生成元素或操作选择器(如删除和添加类)或替换元素时。

$(parentStaticContainer).on('event','selector',callback_function)

示例

$('form').on('change', 'input[name="set_address"]', function(){
//Your code
});

关于通过ajax更改内容后javascript不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32651187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com