Javascript jqgrid转换文本
我不知道该怎么称呼它,所以欢迎任何关于更改标题的建议 我正在尝试将一个相当大的文本转换为类似“只显示一些字符…”的内容。 显然,大文本以相同的字符串开头,但要长得多 我的网格是只读的,当用户单击每一行时,我会将整个数据显示在一个对话框中。 输入字段(在另一个页面中)是一个文本区域,因此用户可以写下要在网格中显示的大量数据。我想保持每一排的高度相同。 我还知道我必须清理文本,以避免特殊字符和新行 我想这应该是一个colModel选项,但我找不到它。 诸如此类:Javascript jqgrid转换文本,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我不知道该怎么称呼它,所以欢迎任何关于更改标题的建议 我正在尝试将一个相当大的文本转换为类似“只显示一些字符…”的内容。 显然,大文本以相同的字符串开头,但要长得多 我的网格是只读的,当用户单击每一行时,我会将整个数据显示在一个对话框中。 输入字段(在另一个页面中)是一个文本区域,因此用户可以写下要在网格中显示的大量数据。我想保持每一排的高度相同。 我还知道我必须清理文本,以避免特殊字符和新行 我想这应该是一个colModel选项,但我找不到它。 诸如此类: colModel :[
colModel :[
{name:'notes', index:'notes', maxcharlength: 20},
非常感谢。您可以创建一个CSS类,该类将剪切文本并显示省略号,并使用
类
属性将其分配给列。CSS类如下所示:
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
colModel :[
{name:'notes', index:'notes', maxcharlength: 20, classes: 'ellipsis'},
然后将其指定给列,如下所示:
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
colModel :[
{name:'notes', index:'notes', maxcharlength: 20, classes: 'ellipsis'},
您可以创建一个CSS类,该类将剪切文本并显示省略号,并使用
classes
属性将其指定给列。CSS类如下所示:
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
colModel :[
{name:'notes', index:'notes', maxcharlength: 20, classes: 'ellipsis'},
然后将其指定给列,如下所示:
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
colModel :[
{name:'notes', index:'notes', maxcharlength: 20, classes: 'ellipsis'},
最后,多亏了Oleg的链接,我可以填充网格剥离html并以这种方式显示省略号: 首先是css:
.ui-jqgrid tr.jqgrow td.textInDiv div {
max-height: 50px;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
第二,列上的自定义格式设置程序:
colModel :[
{name: 'notes', classes: "textInDiv",
formatter: function (v) {
return '<div>' + jQuery.jgrid.stripHtml(v) + '</div>';
}
}
]
colModel:[
{name:'notes',class:'textInDiv',
格式化程序:函数(v){
返回“”+jQuery.jgrid.stripHtml(v)+“”;
}
}
]
注释以html形式来自服务器,因此请注意jqgrid函数用于剥离html标记。
在Oleg的链接中,他使用jqgrid.htmlEncode转义标记
希望这对其他人有所帮助。最后,多亏了Oleg的链接,我可以填充网格剥离html并以这种方式显示省略号: 首先是css:
.ui-jqgrid tr.jqgrow td.textInDiv div {
max-height: 50px;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
第二,列上的自定义格式设置程序:
colModel :[
{name: 'notes', classes: "textInDiv",
formatter: function (v) {
return '<div>' + jQuery.jgrid.stripHtml(v) + '</div>';
}
}
]
colModel:[
{name:'notes',class:'textInDiv',
格式化程序:函数(v){
返回“”+jQuery.jgrid.stripHtml(v)+“”;
}
}
]
注释以html形式来自服务器,因此请注意jqgrid函数用于剥离html标记。
在Oleg的链接中,他使用jqgrid.htmlEncode转义标记
希望这对其他人有所帮助。请参阅。你可以考虑设置<代码>最大高度< /代码>或类似的行。答案是我所需要的。另外,你建议的最大高度看起来很有趣。谢谢!!另外,以防万一,您知道是否有一种简单的方法可以使用jqgrid剥离html吗?如果没有,我将在服务器端使用jsoup。再次感谢你,不客气!决定是否需要向用户显示原始长文本非常重要。例如,看看和太。例如,您可以为用户提供查看全文的方式,但只能在查看和编辑表单以及在网格中显示剥离数据时使用。在这种情况下,您不应该在服务器端剪切数据。相反,您应该使用CSS或自定义格式化程序来剥离客户端。谢谢Oleg。但我需要脱衣而不是编码。别担心,如果可以的话,我会使用jsoup;-)看见你可以考虑设置<代码>最大高度< /代码>或类似的行。答案是我所需要的。另外,你建议的最大高度看起来很有趣。谢谢!!另外,以防万一,您知道是否有一种简单的方法可以使用jqgrid剥离html吗?如果没有,我将在服务器端使用jsoup。再次感谢你,不客气!决定是否需要向用户显示原始长文本非常重要。例如,看看和太。例如,您可以为用户提供查看全文的方式,但只能在查看和编辑表单以及在网格中显示剥离数据时使用。在这种情况下,您不应该在服务器端剪切数据。相反,您应该使用CSS或自定义格式化程序来剥离客户端。谢谢Oleg。但我需要脱衣而不是编码。别担心,如果可以的话,我会使用jsoup;-)谢谢,克莱夫。你的答案与@Oleg的非常相似。jqgrid中是否有maxcharlength属性。Bcoz我尝试使用带有maxcharlength的省略号,但它不起作用。它只根据宽度工作。嗨@Babu Arumugam,选项“maxcharlength”不存在。这是我的猜测,以防jqGrid默认使用省略号。关于Hanks clav。你的答案与@Oleg的非常相似。jqgrid中是否有maxcharlength属性。Bcoz我尝试使用带有maxcharlength的省略号,但它不起作用。它只根据宽度工作。嗨@Babu Arumugam,选项“maxcharlength”不存在。这是我的猜测,以防jqGrid默认使用省略号。Regards@Oleg我已经找到了stripHtml函数,它的作用与我所想的完全一样want@Oleg我已经找到了stripHtml函数,它正是我想要的