当我想折叠整个 div 时,readmore.js 可以很好地工作。我需要弄清楚如何将 readmore 插件与动态创建的 div 一起使用,这样我就可以只折叠需要它的表格部分。
我从数据库返回未知数量的行并将它们放在一个表中。这些字段是日期、联系人姓名和评论。评论字段可能很长,所以我想在每条评论上使用 .readmore() 。
我目前正在做的是为评论字段动态创建一个 div。这个想法是将该 div id 与 .readmore() 一起使用
我的循环看起来像这样:
// NoteTable is html file's div that will display all the returned data
// jquery append method is used to add a table and children rows:
$('#NoteTable').append('<table></table>');
var table = $('#NoteTable').children();
table.append('<tr><td colspan="2" class="sec-hd2">Discharge Planning Notes</td></tr>');
// Loop thru the returned data in the json object:
for (var i = 0; i < jsonNote.DATAREC.LIST.length; i++) {
// Add a row for date info:
table.append('<tr><td><b>Date:</b></td><td>' + jsonNote.DATAREC.LIST[i].COMMENT_DT + '</td></tr>');
// Add a row for contact name info:
table.append('<tr><td><b>Personnel:</b></td><td>' + jsonNote.DATAREC.LIST[i].COMMENT_PRSNL + '</td></tr>');
// use the loop# to create a unique ID for a new div tag:
var tempID = 'comment' + i
//alert (tempID)
// Add a row for the comments with a div tag around the comment string:
table.append('<tr><td colspan="2"><div id="' + tempID + '">' + jsonNote.DATAREC.LIST[i].COMMENT + '</div><br /> </td></tr>');
// Use the readmore plugin on this new div:
//table.append('$(#' + tempID + ').readmore()');
// QUESTIONS/PROBLEMS WITH PREVIOUS LINE OF CODE:
// 1) I'm not sure if I need to append it to the table like I do everything else
// (I don't get errors using tempID.readmore without the table.append but it doesn't work either
// 2) I'm not sure how to do the quote marks/pound sign/dollar sign when I build this string
}
无论我如何配置最后一行代码,我都没有在任何评论上“阅读更多”。我不确定语法应该是什么。欣赏任何想法。如果这样会更好,我愿意完全修改它。
更多信息:阅读更多