链接单击后重新加载表以更新结果

时间:2010-02-12 11:51:51

标签: php javascript ajax jquery

我有一个表格,显示用户在点击阅读时收到的建议更多,一些ajax被触发,在数据库中,建议被标记为已读。目前,如果建议是新的,我会显示一个封闭的信封,如果它被读取,我会显示一个打开的信封,但是当用户点击阅读更多链接时,我可以让它重新加载表,以便可以添加新类。目前它有一半是工作,他们点击阅读更多,完整的建议淡入,但我也需要改变信封。

    <table>
        <?php
            $colours = array("#f9f9f9", "#f3f3f3"); $count = 0;
            if(isset($newSuggestions)) {
                foreach($newSuggestions as $row) {
                if($row['commentRead'] == 0) {
                    $newRow = "new";
                } else {
                    $newRow = "old";
                }
        ?>
                        <tr id="a<?=$row['thoughtId'];?>" bgcolor="<?php echo $colours[$count++ % count($colours)];?>">
        <?php
                            echo "<td class='".$newRow."'>".substr($row['thought'], 0,50)."...</td>";
                            echo "<td class='read'><a href='".base_url()."thought/readSuggestion/".$row['thoughtId']."' class='readMore'>Read More</a>";
                        echo "</tr>";
                    }
                } else {
                echo "You have no new suggestions";
                }
        ?>
        </table>
    </div><!--/popular-->

    </div><!--/widget-->
        <div id="readMore">

        </div>

<script type="text/javascript">
    $(document).ready(function() {
    //alert("hello");
    $('#tabvanilla').tabs({ fx: { opacity: 'toggle', height:'toggle' } });
        $('a.readMore').click(function(){
            $('#readMore').fadeIn(500);
            var url = $(this).attr('href');

            $.ajax({
                url : url,
                type : "POST",
                success : function(html) {
                    $('#readMore').html(html)
                },
                complete : function(html) {
                    $('table').html()
                }
            });
            return false;
        });
});
</script>

1 个答案:

答案 0 :(得分:1)

在您打开/填写完整建议的JavaScript中,您也可以使用以下内容修改信封图像:

$('#envelope').attr('src', 'src/to/envelope.png');

我看不到img标签,所以你需要添加一个并填写id,因此可以通过JavaScript找到它。

BTW :在相同的行/部分上使用HTML和PHP会使总数非常难以理解。仅对大型PHP代码块使用<?php ... ?>,否则使用echo(或类似的东西)。