2

我已将我的 jquery 脚本更新为 1.9.1,并且一个函数停止使用.live().

我已经开始.on()工作,但现在它没有从列表中删除该项目,我必须更新页面才能看到结果。

生成html代码:

for (var i = 0; i < o.length; i++)
    {
        $('#listInserts').append('<div>' + o[i].text + '<a class="del" rel="'+ o[i].dataid +'" href="#">X</a></div>');
    }

之前的代码

$('.del').live('click', function() {
        delItem = $(this);
        var dataid = $(this).attr('rel');

        $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
            delItem.parent().remove();
        }, 'json');

        return false;
    });

之后的代码

$(document).on('click','.del', function() {
        delItem = $(this);
        var dataid = $(this).attr('rel');

        $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
            delItem.parent().remove();
        }, 'json');

        return false;
    });

知道出了什么问题吗?

4

2 回答 2

0

了解 HTML 结构并知道 'json' 不合适,您可以试试这个:

$('#listInserts').on('click','.del', function() {
    var delItem = $(this);
    var dataid = delItem.attr('rel');
    $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
        delItem.closest('div').remove();
    });
    return false;
});
于 2013-04-05T10:24:28.560 回答
0

我找到了我的问题的答案

$('.del').on('click', function() {
    delItem = $(this);
    var dataid = $(this).attr('rel');

    $.post('dashboard/xhrDeleteListing', {'dataid': dataid}, function(o) {
delItem.parent().remove();



    });
            return false;
});

原来,我从我的模型返回 true,但等待一个 JSON 对象。已删除,JSON,它可以正常工作。

于 2013-04-05T10:29:57.787 回答