2017-08-23 19 views
0

少しjQueryがありますリストにいくつかの表のセルを表示するSharePointページに追加します。ページが読み込まれると完全に動作しますが、リストがフィルタされるとコードが停止します。リストがフィルタリングされた後で機能させるには、何をする必要がありますか?SharePoint 2013上の単純なjQueryがフィルタリング後に機能しなくなる

$(document).ready(function(){ 
$('table.red').closest('td').addClass('redBG'); 
$('.yellow').closest('td').addClass('yellowBG'); 

});

答えて

1

この場合、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の外部ファイルとしてこれを使用して、リストデータを表示ListViewWebPartのJSLINKプロパティ上のファイルへのリンクを追加します。

OnPostRender機能は、フィルタリングとページングでトリガーされます。

+0

ありがとうございます!それは本当にトリックでした。 –

関連する問題