SharePoint 2013 列表上的简单 jQuery 在筛选后停止工作
Simple jQuery on SharePoint 2013 list stops working after filtering
我有一些 jQuery 我正在添加到 SharePoint 页面,为列表中的一些 table 单元格着色。当页面加载时它运行完美,但是当列表被过滤时,代码停止。筛选列表后,我需要做什么才能使其正常工作?
$(document).ready(function(){
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
});
为此使用 SharePoint 客户端呈现。
这里有一些来自 PnP 的教程:https://github.com/SharePoint/PnP/tree/dev/Samples/Branding.ClientSideRendering
但您也可以搜索 google。
代码:
(function () {
if (typeof SPClientTemplates === 'undefined')
return;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: [
function (ctx) { DoStuff(ctx); },
]
});
})();
function DoStuff(ctx) {
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
}
将其用作外部 js 文件并将 link 添加到显示列表数据的 ListViewWebPart 的 JSLINK 属性 上的文件中。
您的 OnPostRender
函数将在过滤和分页时触发。
这适用于数据表视图中的列表,但为了使其在过滤后适用于标准视图和数据表,我必须包括这两个函数。
(function () {
if (typeof SPClientTemplates === 'undefined')
return;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: [
function (ctx) { DoStuff(ctx); },
]
});
})();
function DoStuff(ctx) {
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
}
$(document).ready(function(){
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
});
我有一些 jQuery 我正在添加到 SharePoint 页面,为列表中的一些 table 单元格着色。当页面加载时它运行完美,但是当列表被过滤时,代码停止。筛选列表后,我需要做什么才能使其正常工作?
$(document).ready(function(){
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
});
为此使用 SharePoint 客户端呈现。 这里有一些来自 PnP 的教程:https://github.com/SharePoint/PnP/tree/dev/Samples/Branding.ClientSideRendering 但您也可以搜索 google。
代码:
(function () {
if (typeof SPClientTemplates === 'undefined')
return;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: [
function (ctx) { DoStuff(ctx); },
]
});
})();
function DoStuff(ctx) {
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
}
将其用作外部 js 文件并将 link 添加到显示列表数据的 ListViewWebPart 的 JSLINK 属性 上的文件中。
您的 OnPostRender
函数将在过滤和分页时触发。
这适用于数据表视图中的列表,但为了使其在过滤后适用于标准视图和数据表,我必须包括这两个函数。
(function () {
if (typeof SPClientTemplates === 'undefined')
return;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: [
function (ctx) { DoStuff(ctx); },
]
});
})();
function DoStuff(ctx) {
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
}
$(document).ready(function(){
$('table.red').closest('td').addClass('redBG');
$('.yellow').closest('td').addClass('yellowBG');
});