Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 让jquery处理动态内容_Php_Jquery - Fatal编程技术网

Php 让jquery处理动态内容

Php 让jquery处理动态内容,php,jquery,Php,Jquery,我目前正在页面的许多部分使用非常类似的AJAX post请求: $(document).ready(function() { $("#name").change(function(e){ var vname = $("#name").val(); $.post("addit.php", {name:vname}, function(response, status) { $("#table").html(response);

我目前正在页面的许多部分使用非常类似的AJAX post请求:

$(document).ready(function() {
    $("#name").change(function(e){
        var vname = $("#name").val();
        $.post("addit.php", {name:vname}, function(response, status) {
            $("#table").html(response);
        });
    });
});
上面的代码工作得很好

我在获取动态加载内容的任何功能时遇到问题。例如,一个AJAX调用抓取的表单放在我的页面中,上面的这个表单不起作用

如果我们可以假设我运行的是与上面相同的AJAX调用,但是使用AJAX在PHP脚本中动态加载的内容上运行。我的电话是什么样子的#table是一个静态元素,它总是出现在页面上

我尝试过这个方法,但不起作用:

$(document).ready(function() {
    $("#table").on("click", "#btn1", function(e){
        e.preventDefault();
        var vname = $("#name").val();
        $.post("addit.php", {name:vname}, function(response, status) {
            $("#table").html(response);
        });
    });
});
目前,我没有得到任何显示在控制台上,它只是不工作

我在这里做的对吗

html将如下所示:来自php:

<table id='table'>//this is the static element form is echoed
<form method='post'>
<input id='name' name = 'name'>
<button id='btn1' type='submit'>Add me</button>
</form>

</table>
//这是一个静态元素表单,它被回显
加我

我已经更改了我的代码,只需单击按钮,而不是更改

我想你的问题是你错过了

$( document ).ajaxComplete(function() { "script here will run and be available after ajax load" });

尝试使用以下命令更新代码

$(document).ready(function() {
    $("#table #btn1").on("click", function(e){
        e.preventDefault();
        var vname = $("#name").val();
        $.post("addit.php", {name:vname}, function(response, status) {
            $("#table").html(response);
        });
    });
});
当动态添加的元素不在文档中时,无法在该元素上设置函数


如果可能的话,不要使用
而是使用
你介意发布相关的标记代码吗?你是否尝试过手动创建元素
var el=$(“一些文本

”)$(“#表”).append(el)而不是直接修改HTML?我相信在一个元素中更改整个HTML会破坏DOM树{
会更好参考此链接是否可以使用此方法找到我的输入?我将尝试我不应该总是注意向下投票是否每次加载ajax时都有效?是的,上面的一个将全局触发。下面将触发不同的ajax调用。$.ajax({beforeSend:function(){//Handle the beforeSend event},complete:function(){//Handle the complete event}/..});*source