我将不胜感激你们都可以给我的任何帮助和或建议。我不确定我是否以正确的方式进行此操作,但这是我的要求:
我有一个 asp:gridview,它可能在每行的列字段中进行大量测试。不会对 gridview 中的数据进行任何编辑。
我试图只显示文本的前 130 个字符,并在文本末尾带有“.... [更多]”。当用户点击【更多】时,<div>
滚动打开并隐藏短行文本,显示全部文本,【更多】文本变为【更少】。当您单击 [Less] 时,<div>
关闭并且文本变回 [More]。我有短版和长版的文本加载到模板字段中。
问题:我需要在 jQuery 函数 slideDown() 完成后隐藏<asp:Label class="faq_submain">
和 ,并在
<span class="MemoDataMoreBtn">
slideUp() 完成时显示()它们。如果 Eval("MemoText") 长度小于或等于零,我还需要隐藏 [More] 链接。
下面是gridview的代码<itemtemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" class="GridMemo" width="100%">
<tr>
<td colspan="3" style="border-bottom: 1px solid #9DC2FF;">
<asp:Label class="faq_submain" ID="ShortMemoTextLbl" runat="server" Text='<%# LimitTextLine(Eval("MemoText"), 130)%>'></asp:Label>
<span class="MemoDataMoreBtn">[More]</span>
<div class="memodatadiv" style="display: none;">
<asp:Label ID="LongMemoTextLbl" runat="server" Text='<%# Eval("MemoText")%>'></asp:Label>
<span class="MemoDataLessBtn">[Less]</span>
</div>
</td>
</tr>
</table>
</ItemTemplate>
这是我目前正在使用的 jquery。
$(".MemoDataMoreBtn").click(function () {
$(this).next(".memodatadiv").slideDown(100);
$(this).prev(".faq_submain").hide();
});
$(".MemoDataLessBtn").click(function () {
$(this).parent(".memodatadiv").slideUp(100);
$(this).parent("td").after(".faq_submain").show();
});
这是正常的外观:
问题#1,我点击[更多],需要隐藏突出显示的[更多]。
问题 #2,点击 [Less] 后,我需要显示原始文本和 [More] 链接。
谢谢大家的帮助。