jQuery - AJAX | 同一页上的两个ajax帖子| After-POST问题/问题

Rok*_*jan 1 ajax jquery

我陷入了一种奇怪的境地.我无法从逻辑上解决它.

问题:(所有这些都必须在没有页面刷新的情况下完成!):

  • jQuery向服务器发出AJAX POST以向数据库添加内容.(写点东西.)......(它有效!)
  • 现在显示该元素(并有一个删除按钮)
  • 现在,如果我点击这个元素删除它(制作一个新的jQuery AJAX POST)...
  • 什么都没发生

AJAX是否有限制或我必须检查/重新编辑/学习一些东西?

Firebug返回该新元素并检查它 - 我应该能够在创建它时将其删除.(删除仅在我进行页面刷新后才有效.)

请帮忙!

编辑1:链接已删除.

编辑2:这是旧的(勘误表)代码:(全部在'文档就绪'功能)

//////////// COMMON:$('.list>*').addClass('delete'); var valDel = 0; $('.delete').attr('value',function(){valDel ++; return + valDel;});

/////////////// WRITE:

$(function() {
    $("form.form #submit_btn").click(function() {

    //SOMETHING ON CLICK....+

        var name = $('#name').val();  
        var comment = $('#comment').val();
        var email = $('#email').val();

        var i = 0;
    $.ajax({
        type: "POST",
        data: "ime="+ime+"&komentar="+komentar+"&email="+email,
        cache: false,
        success: function(){

        //SOMETHING ON SUCCESS....+

            $('.list >*').addClass('delete');
            $('.delete').attr('value', function() {i++;    return ''+i;}); // FIX: add again incremented values

        }
    });
    return false;
    });
}); 
/////////////////////// DELETE:


$(function() {
    $(".delete").click(function() {    // THE FIX: ...).live('click', function(){...
        $(this).addClass('toBeDeleted');
        var valx = $(this).attr("value");
        var string = 'valx='+ valx;

        $.ajax({
            type: "POST",
            data: string,
            cache: false,
            success: function(){

            $('.toBeDeleted').hide( function() { 
                $(this).remove();
                var reValDel = 0;$('.list >*').attr('value', function() {reValDel++;    return +reValDel;});
            });

          }
         });
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

rcr*_*ens 7

我怀疑在创建新项目后动态添加dom元素时,不会添加click事件处理程序.您应该使用jQuery的"实时"功能将单击事件绑定到元素.

仔细查看您的来源,您应该更改此内容:

$(".delete").click(function() {...
Run Code Online (Sandbox Code Playgroud)

对此

$(".delete").live("click", function() {...
Run Code Online (Sandbox Code Playgroud)