Display number of replies in disscussion board

how to display number of replies in disscussion board

I have a require about display the replies' number in disscussion board, finish it via jQuery.

First, get the number of the replies of each items via client object model,

then store the number into array.

at last, show it in page via jQuery .

here is the code.

<script type="text/javascript">
		
      $(document).ready(function(){
           
                     ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "SP.js");
	});
	
function retrieveListItems() {

    var clientContext = new SP.ClientContext.get_current();  
    var oList = clientContext.get_web().get_lists().getByTitle('Dis1');
        
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query>' +
    	'<OrderBy>'+
  		'<FieldRef Name="DiscussionLastUpdated" Ascending="False"></FieldRef>'+
		'</OrderBy>'+
                                   '</Query><RowLimit>20</RowLimit></View>');

    this.collListItem = oList.getItems(camlQuery, 'Include(ItemChildCount)');
        
    clientContext.load(collListItem);
        
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));        
        
}

function onQuerySucceeded(sender, args) {
	
	var arr = new Array();
	var listItemInfo = '';
    var listItemEnumerator = collListItem.getEnumerator();
    arr.length = 0;
    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();
        listItemInfo = oListItem.get_item('ItemChildCount');
        arr.push(listItemInfo);
    }
    
    $('#forum0-PostList>li').each(function(index){
	 		$(this).find('div.ms-comm-postMainContainer').css({"float":"left", "width":"90%"});
	 		var arrValue = arr.shift()
	 		$(this).find('div.ms-comm-postMainContainer').after("<div class = 'div_showNumber' style = 'float:left;font-size:20px;10%;background-color:gray;color:white;30px;height:30px;text-align:center;'>" + arrValue + "</div>");
	});
	

 }

function onQueryFailed(sender, args) {

    alert('Request failed. ' + args.get_message() + '
' + args.get_stackTrace());
}
	
	
</script>
  


 

原文地址:https://www.cnblogs.com/riskyer/p/3343295.html