【问题标题】:Trying to refresh div with jQuery in MVC f/w尝试在 MVC f/w 中使用 jQuery 刷新 div
【发布时间】:2011-12-02 18:33:59
【问题描述】:

大家好,我多年来一直在研究这个特殊问题,请帮忙。 我看过jQuery: Refresh div after another jquery action? 它正是我想要的,但只有一次!我有一个从 db 生成的表,当我单击删除时,它会删除行并刷新 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
        }
    });
});

我的身体里有

<fieldset class='step' id='f1'>
    <?php $this->load->view('profile/docs_table'); ?>
</fieldset>

profile/docs 从 db 读取数据。 &lt;table id='docs'&gt;....&lt;/table&gt; 和我的控制器:

function deleteDoc() {
    $id = $_POST['id'];
    $this->load->model('documents_model');
    $del = $this->documents_model->deleteDocument($id);    
    return $this->load->view('docs_table');
}

提前致谢!

【问题讨论】:

    标签: php jquery codeigniter


    【解决方案1】:

    您是否在任何地方删除任何与 $('#docs td.delete') 匹配的表达式?如果是这样,请考虑使用 $.live(),它会将您的函数附加到所有匹配的元素上,无论当前还是将来;例如

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

    http://api.jquery.com/live/

    【讨论】:

      【解决方案2】:

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

      你应该只需要替换

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 是的,我正在用相同的内容替换#f1 内容......我的意思是用同一个表,它也有 td.delete。
        猜你喜欢
        • 1970-01-01
        • 2017-12-08
        • 1970-01-01
        • 2010-10-05
        • 2017-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-07
        相关资源
        最近更新 更多