javascript - jquery 回调附加后 anchor 不起作用

标签 javascript jquery ajax

我两天来一直在尝试解决这个问题,但我快疯了,请帮忙。 我试图在 anchor 内附加一个新的 div(插入 html 代码),看起来没问题,但链接不起作用。我正在尝试使用 class='delete' 来调用另一个 jquery 函数来删除新的 div 元素。想法是一个购物车,我添加了一个producto,添加后我想删除,但它不起作用。这是我的代码:

$("#dialog-form").dialog({
    autoOpen: false,
    height: 320,
    width: 320,
    modal: true,
    show: 'slide',
    buttons: {
        "Agregar Tour": function () {
            var bValid = true;
            allFields.removeClass("ui-state-error");

            bValid = bValid && checkLength(adl, "Adultos", 1, 5);
            bValid = bValid && checkLength(chls, "Niños", 0, 5);
            bValid = bValid && checkLength(fecha, "Fecha", 1, 16);

            var id = $(this).val("id");
            var string = 'tourid=' + tourid;
            //var tourid = '<?php echo $moneda ?>';
            //alert(tourid);
            if (bValid) {
                $.ajax({
                    url: "add_item.php",
                    data: "tourid=" + tourid + "&adl=" + adl.val() + "&chl=" + chls.val() + "&fecha=" + fecha + "",
                    dataType: 'json',
                    type: "GET",
                    cache: false,
                    success: function (data) {
                        var regis = data[0];
                        var titulo = data[6];
                        var desc = data[7];
                        var total = data[12];
                        var foto = data[15];
                        var items = data[21];
                        var ruta = "images/hoteles/" + foto + "";


                        $("#containerx").append("<div id='containerx' class='koko' ><b><font color='#3399CC'>" + titulo + "</font></b><br>" + desc + "<br>" + "<b><font color='#ff0099'>Sub-total </font></b><image src='images/arrow.gif'> $" + total + " MXP " + "<a href='#' id=" + regis + " class='delele'>" + "<image src='images/delete.gif'></a></div><div style='clear:both;'></div>");
                        $("#containerx.koko").fadeTo(1000, 0.7);




                        $("#dialog-message").dialog({
                            modal: true,
                            show: 'slide',
                            buttons: {
                                Ok: function () {
                                    $(this).dialog("close");
                                }
                            }
                        });

                        $("#items").html("<div id='items'>[" + items + "]</div>");

                        $('#load').fadeOut();

                    }
                });
                $(this).dialog("close");
            }
        },
        Cancel: function () {
            $(this).dialog("close");
        }
    },
    close: function () {
        allFields.val("").removeClass("ui-state-error");
    }
});

$(".add-item").button().click(function () {
    tourid = $(this).attr("id");
    $("#dialog-form").dialog("open");
});

最佳答案

在此“删除”事件等中,您需要使用“live”jquery live http://api.jquery.com/live/或者在添加内容后再次附加事件。

一旦内容呈现,所有事件都会附加,如果您动态添加新内容,则需要再次附加事件(如果它们不是“实时”事件)。

jquery“Live”事件也会尝试附加到动态添加的内容:)。阅读我添加的文档,您就会知道一切。

关于javascript - jquery 回调附加后 anchor 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10373052/

相关文章:

javascript - 使用 jQuery 获取完整的 URL,包括问号后的参数?

javascript - Keydown 脚本仅在将脚本代码放置在输入框下方时才起作用?

javascript - 刚接触 Jade 。想知道为什么图表没有显示?

javascript - Woocommerce 迷你购物车小部件产品价格覆盖

javascript - 如何在 ReactJS 中使用 JQuery

javascript - JQuery Clone - 在两个元素上触发相同的事件

php - 使用 AJAX 在 Javascript 中调用 PHP 函数

javascript - AJAX 和 jQuery 的分离

javascript - JSON 无法接受 json_encode() 数组

javascript - 跨源请求被阻止 : (Reason: CORS header 'Access-Control-Allow-Origin' missing)