使用ajax更新动态生成的类

时间:2011-09-20 18:39:44

标签: jquery ajax

我正在尝试在php中创建一个基于电子邮件的应用程序(在Codeigniter f / w中)。 我希望能够在单击时将未读消息更改为读取(我有2个类:read0和read1)。 我可以立即看到消息的内容,但也希望将其更改为“读取”(至1)。

foreach ($all->result_array() as $row){
print "<tr><td class=read".$row['read']."><a href='#' class='list' name=".$row['au_id'].">".$row['read']."</a></td></tr>";
    }

和ajax看起来像:

$('.list').click(function() {
    $.ajax({
        url: "<?php echo site_url('contact/clickMsg'); ?>",
        type: 'POST',
        data:'app_id='+this.name,
        success: function(msg) {
            $('#msg_content').html(msg);

        }
    });
$.ajax({ 

        success: function( smth) { 
            $('a').html(smth);//Will insert new content inside div element.
        } 

    });

I have to unread msgs  Smth is wrong

我看过jQuery reload div's content (dynamically rendered),我觉得我错过了。 我也试过$('a')。替换(smth)但得到相同的输出。 真的很感激任何提示。 很多提前的事情

1 个答案:

答案 0 :(得分:0)

抱歉,我误解了你的问题。看到你的代码,选择器$('a')可能真的很模糊。我认为你需要使用$('。list')来寻找特定的类。但换句话说,如果您需要刷新特定标签,则需要按名称进行操作。一个好主意是,在smht var中出现了行的ID和值,所以你用字符串函数解析它,并使用该解析的一部分(id)进入选择器而第二个(值)进入HTML。类似的东西:

$('name ='+ my_returneded_ajax_id).html(my_returneded_value)

因此,通过这种方式,您可以准确刷新数据库中真正更新的行。