Php 尝试在MVC f/w中使用jQuery刷新div

Php 尝试在MVC f/w中使用jQuery刷新div,php,jquery,codeigniter,Php,Jquery,Codeigniter,大家好,我已经在这个问题上工作了很长时间了,请帮忙。 我看过 这正是我想要的,但只有一次!我有一个从db生成的表,当我单击delete时,它会删除该行并刷新div,但在此之后,我的jquery函数将无法工作 $('#docs td.delete').click(function() { $("#docs tr.itemDetail").hide(); var i = $(this).parent().attr('id'); $.ajax({ url: "

大家好,我已经在这个问题上工作了很长时间了,请帮忙。 我看过 这正是我想要的,但只有一次!我有一个从db生成的表,当我单击delete时,它会删除该行并刷新div,但在此之后,我的jquery函数将无法工作

$('#docs td.delete').click(function() {
    $("#docs tr.itemDetail").hide();
    var i = $(this).parent().attr('id');

    $.ajax({
        url: "<?php echo site_url('kt_docs/deleteDoc'); ?>",
        type: 'POST',
        data: 'id=' + i,
        success: function(data) {
            $("#docs tr.itemDetail").hide();
            $("#f1").html(data); //    wont work twice            
            //$("#docs").load(location.href+" #docs>*"); //works once as well
        }
    });
});

提前谢谢

是否要用通过ajax获取的数据替换包含事件的html元素?如果您最终替换了td.delete元素,那么新元素将不会自动获得绑定。

尝试使用
bind()
而不是
click()
click()
方法对动态添加到DOM中的元素不起作用,这可能就是为什么它只在第一次使用更新的内容重新填充后才起作用

你应该换个新的

$('#docs td.delete').click(function() {


您是否正在删除任何与$('#docs td.delete')匹配的表达式?如果是这样,考虑使用$.LeVE(),它将把你的函数附加到所有匹配元素,而不管当前还是将来;e、 g

$('#docs td.delete').live('click', function() {
    // Do stuff.
});

是的,我正在用相同的内容替换#f1内容。。。我的意思是使用同一个表,它也有td.delete。
$('#docs td.delete').click(function() {
$('#docs td.delete').bind('click', function() {
$('#docs td.delete').live('click', function() {
    // Do stuff.
});