我有一个表格,显示用户在点击阅读时收到的建议更多,一些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>
答案 0 :(得分:1)
在您打开/填写完整建议的JavaScript中,您也可以使用以下内容修改信封图像:
$('#envelope').attr('src', 'src/to/envelope.png');
我看不到img标签,所以你需要添加一个并填写id,因此可以通过JavaScript找到它。
BTW :在相同的行/部分上使用HTML和PHP会使总数非常难以理解。仅对大型PHP代码块使用<?php ... ?>
,否则使用echo
(或类似的东西)。