我从我的数据库中检索所有评论。
如果评论超过95,则template_lite函数会截断它。
<form action="#" method="post" />
{foreach value=users from=$comment2}
<tr>
<td>{$users.ADD_DATE}</td>
<td>{$users.USERNAME}</td>
{if $users.COMMENT|count_characters > 95}
<td width="340px"><span id=comment12kisa_{$users.ID}>{$users.COMMENT|truncate:95:"..."}
</span><a href="" onclick="$('#comment12kisa_{$users.ID}').html($('#comment12kisaa_{$users.ID}').html()); $(this).remove(); return false;">devamı</a></td>
<td><center><input type="checkbox" name="checkComment[]" value={$users.Movie_Comment_ID}-{$users.MOVIE_ID} ></center></td>
{else}
<td width="180px">{$users.COMMENT}</td>
<td><center><input type="checkbox" name="checkComment[]" value={$users.Movie_Comment_ID}-{$users.MOVIE_ID}></center></td>
{/if}
<span id="comment12kisaa_{$users.ID}" style="display:none">{$users.COMMENT}</span>
</tr>
{/foreach}
</table>
<p align="right"><input type="submit" name="deleteCommentonMovie" value="Seçilen Yorumları Sil"/></p>
</form>
当用户点击“devam”链接时,必须打开完整的评论。但是,当我点击它时,它只打开第一个。我点击第四个,但它会打开第一个。为什么?可能是什么原因?
答案 0 :(得分:0)
看起来你没有使用正确的jQuery方法(两次)。您的CMS似乎正在将内容加载到默认隐藏的范围中。您的选择器显示正确,但不是使用.html()尝试类似slideDown()或show()的内容。
$('#comment12kisa_{$users.ID}').slideDown();
如果您在本地测试,则每个评论的用户ID可能相同,在这种情况下,您将在评论主题中拥有多个相同的ID。尝试将ID中的“12”设置为每个注释的不同整数。更具体地说,在foreach之上,启动一个变量并将其设置为零,然后在循环的底部(但在其内部)增加该值。