Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript ajaxdone方法中的代码没有';无法识别已加载的代码_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript ajaxdone方法中的代码没有';无法识别已加载的代码

Javascript ajaxdone方法中的代码没有';无法识别已加载的代码,javascript,jquery,ajax,Javascript,Jquery,Ajax,所以我试图建立一个动态系统,当你点击另一个按钮时,一个按钮会发生变化。例如,当您单击按钮:“12+4”时,不同的按钮将出现在另一个div中。我使用append方法来实现这一点。但是,当您单击其中一个“patroon”按钮时,它将不会执行('click',function)。这是因为该代码在ajax调用之前就已经执行了。我的代码如下: arr.forEach(function (value, key) { $("#row2").append

所以我试图建立一个动态系统,当你点击另一个按钮时,一个按钮会发生变化。例如,当您单击按钮:“12+4”时,不同的按钮将出现在另一个div中。我使用append方法来实现这一点。但是,当您单击其中一个“patroon”按钮时,它将不会执行('click',function)。这是因为该代码在ajax调用之前就已经执行了。我的代码如下:

        arr.forEach(function (value, key) {
           $("#row2").append('<button class="dikte" data-value="' + key + '">' + value + '</button>')
        });

        $(".dikte").on('click', function () {
            let dataVal = $(this).data('value');

            // Code...
            $.ajax({
                url: "Api/getObjectGroepen.php",
                type: 'GET',
                beforeSend: function () {
                    // $(".spinner-border").removeClass("d-none");
                },
                success: function () {
                    // $(".spinner-border").addClass("d-none");
                }
            }).done(function (data) {
                $("#row3").html("");
                $(arrObjectGroep).each(function (key, value) {
                    $("#row3").append('<button class="btn tile" data-value="' + value + '">' + JSON.parse(data)[value] + '</button>')
                });
            });
        });

        // Tile section
        $(".tile").on("click", function (e) {
            // Prevents button from executing
            e.preventDefault();
            // execute code
            console.log(123);
        });

arr.forEach(函数(值、键){
$(“#第2行”)。追加(“”+value+“”)
});
$(“.dikte”)。在('click',函数(){
让dataVal=$(this.data('value');
//代码。。。
$.ajax({
url:“Api/getObjectGroepen.php”,
键入:“GET”,
beforeSend:函数(){
//$(“.spinner border”).removeClass(“d-none”);
},
成功:函数(){
//$(“.spinner border”).addClass(“d-none”);
}
}).完成(功能(数据){
$(“#第3行”).html(“”);
$(arObjectGroep)。每个(函数(键、值){
$(“#row3”).append(“”+JSON.parse(data)[value]+“”)
});
});
});
//瓷砖部分
$(“.tile”)。在(“单击”,函数(e){
//防止按钮执行
e、 预防默认值();
//执行代码
控制台日志(123);
});
因此,
$(“.tile”)
是所有按钮。而
$(“.dikte”)
是“12+4”按钮


希望有人能理解我的问题,这可能有点难以解释,但如果有任何问题,我可以进一步解释。有没有一个干净简单的解决方案?而不是将所有代码移动到done方法。

Jquery不知道动态附加的按钮,因为您的代码应该如下所示,它将重新扫描文档以查找具有类名的元素

$(document).on('click','.tile',function(e){
    // code
});

您好,您的意思是$(“.tile”)。on('click',function)事件没有触发?是的,确实是在$(“#row3”)。append(''+JSON.parse(data)[value]+'')您好,我添加了一个答案,这正是我需要的!谢谢太好了。。。