In this article, I have explained how to create a jQuery tab using content search web part (CSWP) to display dynamic data in SharePoint Server 2013.
Authoring Site collection allows authors to manage their website content while the Publishing Site collection reviews the content from the authoring site collection.
Open the Authoring Site Collection.
Create a list named “tabbed content” that contains title and description.


Let’s go and create a control and a template to display the items.
- Control Template
It provides overall structure (layout) of the HTML elements along with start and end tags. - Item Template
It renders the items from the list, and contains text and pictures.
Now, let's create two display templates for displaying (1) bootstrap carousel menu control and (2) a menu item.
Code – Tabbed Control Template
Upload the script and CSS into style library.

Add the scripts and CSS into Control template.
- <script>
- $includeScript(this.url, "~sitecollection/Style%20Library/JqueryTabs/jquery-ui.css");
- $includeCSS(this.url, "~sitecollection/Style%20Library/JqueryTabs/jquery-1.12.4.js");
- $includeScript(this.url, "~sitecollection/Style%20Library/JqueryTabs/jquery-ui.js");
- </script>
Now, let's define the HTML layout to the Control template.
- <div id="tabs">
- <ul>
- <li><a href="#tabs-1">Sharepoint</a></li>
- <li><a href="#tabs-2">Javascript</a></li>
- <li><a href="#tabs-3">ASP.NET</a></li>
- </ul>
- _#= ctx.RenderItems(ctx) =#_
- </div>
The full code looks like the following.
- <html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
- <head>
- <title>Tabbed Control</title>
- <!--[if gte mso 9]><xml>
- <mso:CustomDocumentProperties>
- <mso:TemplateHidden msdt:dt="string">0</mso:TemplateHidden>
- <mso:MasterPageDescription msdt:dt="string">Display a Tabbed Control</mso:MasterPageDescription>
- <mso:ContentTypeId msdt:dt="string">0x0101002039C03B61C64EC4A04F5361F385106601</mso:ContentTypeId>
- <mso:TargetControlType msdt:dt="string">;#SearchResults;#Content Web Parts;#</mso:TargetControlType>
- <mso:HtmlDesignAssociated msdt:dt="string">1</mso:HtmlDesignAssociated>
- <mso:HtmlDesignConversionSucceeded msdt:dt="string">True</mso:HtmlDesignConversionSucceeded>
- <mso:CrawlerXSLFile msdt:dt="string"></mso:CrawlerXSLFile>
- <mso:HtmlDesignPreviewUrl msdt:dt="string"></mso:HtmlDesignPreviewUrl>
- <mso:HtmlDesignStatusAndPreview msdt:dt="string">http://technologygeeks/sites/publishing/_catalogs/masterpage/Display Templates/Content Web Parts/banner/bannercontrol.html, Conversion successful.</mso:HtmlDesignStatusAndPreview>
- </mso:CustomDocumentProperties>
- </xml><![endif]-->
- </head>
- <body>
- <script>
- $includeCSS(this.url, "~sitecollection/Style%20Library/JqueryTabs/jquery-ui.css");
- $includeScript(this.url, "~sitecollection/Style%20Library/JqueryTabs/jquery-1.12.4.js");
- $includeScript(this.url, "~sitecollection/Style%20Library/JqueryTabs/jquery-ui.js");
- </script>
- <div>
- <!--#_if (!$isNull(ctx.ClientControl) && !$isNull(ctx.ClientControl.shouldRenderControl) && !ctx.ClientControl.shouldRenderControl()){return "";}
- ctx.ListDataJSONGroupsKey = "ResultTables";
- ctx["CurrentItems"] = ctx.ListData.ResultTables[0].ResultRows;
- var siteURL = SP.PageContextInfo.get_siteAbsoluteUrl();
- AddPostRenderCallback(ctx, function() {
- $.getScript(siteURL + "");
- $( "#tabs" ).tabs();
- });
- _#-->
- <div id="tabs">
- <ul>
- <li><a href="#tabs-1">Sharepoint</a></li>
- <li><a href="#tabs-2">Javascript</a></li>
- <li><a href="#tabs-3">ASP.NET</a></li>
- </ul>
- _#= ctx.RenderItems(ctx) =#_
- </div>
- </div>
- </body>
- </html>










Join the conversation! Your thoughts help the community grow.