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

Javascript 如何存储字符串并仅显示其一部分,javascript,php,mysql,Javascript,Php,Mysql,我将datatables与mysql和php结合使用来显示记录,我有一个名为“Notes”的列,其中可能包含1行或多行换行符(chr(10)) 我正在使用 while( $row=mysqli_fetch_assoc($records) ){...... 填表 $('#example tbody').on( 'click', 'tr', function ()...... 及 获取单击行中“注释”(和其他)的值,以填充编辑对话框 一切正常 有人问我是否可以只显示表中notes列的第一行,我

我将datatables与mysql和php结合使用来显示记录,我有一个名为“Notes”的列,其中可能包含1行或多行换行符(chr(10))

我正在使用

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

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

获取单击行中“注释”(和其他)的值,以填充编辑对话框

一切正常

有人问我是否可以只显示表中notes列的第一行,我已经使用“strpos”和“substr”完成了这一操作,这是可以的

不幸的是,因为编辑对话框从表中获取数据,所以我现在只获取第一行

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

恐怕我在这里还是有点“绿色”,不确定最佳方法或如何填充然后访问阵列

谢谢你的帮助

额外的,额外的


谢谢Barmar,这看起来是一个很好的解决方案,但我还没有到那里。。。。。 我已经添加了CSS和以下代码片段

** ListNotes = $('td:nth-child(6) .expanded', this).text();
在php表“while循环”中

$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>";
$findme=chr(10);
$pos=strpos($row['ListNotes',$findme);
$lft=substr($row['ListNotes'],0,$pos);
.... 
回显“$lft.”“$row['ListNotes']”;
并且该表将按预期显示


我在标有**的行后面加了一个中断符,并且“ListNotes”是一个空字符串(“”??? 我希望它能包含整个字符串,包括任何chr(10)的。
我做错什么了吗?

将全文隐藏起来:

<td><span class="abbreviated">First line...</span><span class="expanded">First line<br>Second line<br>Third line</span></td>
编辑时,从
.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);

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

你可以添加更多的代码,可能包括你现在正在发生的事情的图片,与预期的相比,你可以通过将你想要隐藏的文本部分放在标记为不可见的css类中来隐藏文本。这样它仍然存在,如果你想的话,你可以让它可见。困惑:
我被问到是否可以只显示第一行<代码>我现在只得到第一行
。你想要第一行,你得到了第一行,那么,问题出在哪里?我希望使用这个“添加注释”来获得进一步的指导,但是有一个最大的字符限制,所以我将在后面添加两个注释Hanks 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)。。。。回显“$lft.”“$row['ListNotes']”;表按预期显示。我在标有**的行后面加了一个分隔符Firebug,“ListNotes”是一个空字符串(“”???我希望它能包含整个字符串,包括任何chr(10)的。我做错什么了吗?我不确定你在做什么,如果你把它添加到你的问题中,这样你就可以很好地显示格式化的代码了。
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);