0

我从我的数据库中检索所有评论。

如果评论长于 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”链接时,它必须打开完整的评论。但是,当我单击它时,它只打开第一个。我单击第四个,但它打开了第一个。为什么?可能是什么原因?

4

1 回答 1

0

看起来您没有使用正确的 jQuery 方法(两次)。您的 CMS 似乎正在将内容加载到默认隐藏的跨度中。您的选择器看起来是正确的,但不要使用 .html() 尝试类似 slideDown() 或 show() 的东西。

$('#comment12kisa_{$users.ID}').slideDown();

如果您在本地对此进行测试,您的用户 ID 可能对于每条评论都是相同的,在这种情况下,您将在评论线程中拥有多个相同的 ID。尝试在您的 ID 中将“12”设置为每个评论的不同整数。更具体地说,在您的 foreach 上方,启动一个变量并将其设置为零,然后在循环的底部(但在内部)增加该值。

于 2012-04-05T14:26:19.347 回答