1 回答
TA贡献1811条经验 获得超5个赞
GridView 中的链接应如下所示:
<a onclick="return imgViewer(this);" id="lnkVwr" href="javascript:__doPostBack('ctl00$gvTest$ctl11$lnkVwr','')">VDWWD</a>
但是在省略号之后,它看起来是这样的:
<span class="ellipsis" title="<a onclick="return imgViewer(this);" id="lnkVwr" href="javascript:__doPostBack('ctl00$gvTest$ctl11$lnkVwr','')" style="color:#000000!important">VDWWD</a>"><a…< span=""></a…<></span>
如您所见,它把 HTML 弄得一团糟,难怪浏览器不知道如何处理它。
最重要的是,这个函数似乎没有做任何事情或没有被调用:
.fn.dataTable.render.ellipsis = function ( cutoff, wordbreak, escapeHtml )
看看这个页面是如何完成的。
我做了以下片段。它检查href字符串中是否存在an ,如果存在,则跳过对字符串的修剪。
<script type="text/javascript">
function pageLoad() {
var table = $('#gvTest').DataTable({
fixedColumns: true,
columnDefs: [
{ targets: 0, render: $.fn.dataTable.render.ellipsis() },
{ targets: 1, render: $.fn.dataTable.render.ellipsis() },
],
});
}
$.fn.dataTable.render.ellipsis = function () {
return function (data, type, row) {
if (type !== 'display') {
return data;
}
if (data.length > 10 && !data.includes("href")) {
return data.substr(0, 10) + '…';
} else {
return data;
}
}
};
</script>
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报