2010-02-12 111 views
0

我有一個表顯示用戶建議,他們已經收到點擊閱讀更多的一些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

在JavaScript中,你打開/填寫完整的建議,您可以修改信封的圖像,以及,使用類似:

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

我看不出有任何的img標籤,所以你需要添加一個並填入id,以便通過JavaScript找到它。

順便說一句:HTML和PHP在同一行/部分,使總數非常不可讀。只對大PHP代碼塊使用<?php ... ?>,否則使用echo(或類似的東西)。