如何存储字符串并仅显示其中的一部分


How to store a string and display only part of it

我使用带有mysql和php的数据表来显示记录,我有一个名为"Notes"的列,它可能包含1个或多个换行符(chr(10))。

我正在使用

while( $row=mysqli_fetch_assoc($records) ){......

填写表格和

$('#example tbody').on( 'click', 'tr',  function ()......

Notes = $('td', this).eq(6).text();

以获取单击行中用于填充编辑对话框的"notes"(和其他)的值。

一切正常。

有人问我是否可以只显示表中注释列的第一行,我已经使用"strpos"answers"substr"完成了这一操作,并且可以

不幸的是,由于编辑对话框从表中获取数据,我现在只得到第一行。。。。。

我想我需要收集整个字段,然后再切掉后面的部分,然后使用这个集合(可能在数组中??)来填充编辑对话框。

恐怕我在这里还是有点"绿色",不确定最好的方法,也不确定如何填充然后访问数组。

谢谢你的帮助。

附加。。。。附加的附加的

谢谢Barmar,这看起来是一个很好的干净的修复,但我还没有。。。。。我添加了CSS和以下代码片段。。

** ListNotes = $('td:nth-child(6) .expanded', this).text();

和php表中的"while loop"

$findme = chr(10); 
$pos = strpos($row['ListNotes'], $findme); 
$lft = substr($row['ListNotes'], 0, $pos); 
.... 
echo "<td><span class='abbreviated'>".$lft."</span><span class='expanded'>".$row['ListNotes']."</span></td>";

并且如预期的那样显示该表格。

我在Firebug中标记为**的行之后插入了一个break,并且"ListNotes"是一个空字符串(")???我希望它能包含整个字符串,包括任何chr(10)的。我做错什么了吗?

将全文放在隐藏的span:中

<td><span class="abbreviated">First line...</span><span class="expanded">First line<br>Second line<br>Third line</span></td>

带有CSS:

.expanded {
  display: none;
}

编辑时,使注释从.expanded span:展开

var text = $('td:nth-child(6) .expanded', this).text();

编辑后,将缩写和扩展的结果存储回适当的范围:

$('td:nth-child(6) .expanded', this).text(edited_text);
$('td:nth-child(6) .abbreviated', this).text(abbreviated_text);

我刚才想回答自己的问题,但忘了。以下是我解决问题的方法。在表显示中,我有一个显示的列带有截断的字符串,还有一个隐藏的列带有完整的字符串。我在编辑对话框中使用了隐藏列。简单有效。