2014-08-26 2 views
0

Я пытаюсь создать таблицу HTML с данными из списка SharePoint с помощью SPServices. Я просмотрел сайт, и мой код, похоже, соответствует рабочим примерам, но я не получаю никаких результатов на своем сайте (я просто вижу заголовки текстовых таблиц) и никаких ошибок в консоли.Создание таблицы HTML из списка SharePoint с помощью SPServices

Ниже приведен мой код, спасибо.

<script type="text/javascript" src="URL/SiteAssets/Libraries/jquery-min.js"></script> 
<script type="text/javascript" src="URL/SiteAssets/Libraries/SPServices-min.js.js"></script> 
<script type="text/javascript" src="URL/SiteAssets/Libraries/underscore.js"></script> 
<script type="text/javascript"> 

$(document).ready(function() { 
    $().SPServices({ 
    operation: "GetListItems", 
    async: false, 
    listName: "{REMOVED}", 
    CAMLViewFields: "<ViewFields><FieldRef Name='Project_x0020_ID' /><FieldRef Name='Title'/><FieldRef Name='Summary_x0020_Description'/><FieldRef Name='Technology_x0020_Stream'/></ViewFields>", 
    completefunc: function (xData, Status) { 
     $(xData.responseXML).find("[nodeName='z:row']").each(function() { 
     var projectid = $(this).attr("ows_Project_x0020_ID"); 
     var title = $(this).attr("ows_Title"); 
     var sumdesc = $(this).attr("ows_Summary_x0020_Description"); 
     var techstream = $(this).attr("ows_Technology_x0020_Stream"); 
     var tableBody = document.getElementByID("tasksTB"); 
     tableBody.innerHTML = "<tr><td>" + projectid + "</td><td>" + title + "</td><td>" + sumdesc + "</td><td>" + techstream + "</td></tr>"; 
     }); 
    } 
    }); 
}); 
</script> 
<html> 
<body> 
<table> 

    <thead> 
     <tr> 
      <th>Project ID</th> 
      <th>Title</th> 
      <th>Summary Description</th> 
      <th>Technology Stream</th> 
     </tr> 
    </thead> 

    <tbody id="tasksTB"> 
    </tbody> 
</table> 
</body> 
</html> 

ответ

0

Изменить ваш HTML-код, как указано ниже. Убедитесь, что я удалил труп и добавил идентификатор ко всей таблице.

<table id="task"> 
<thead> 
    <tr> 
     <th>Project ID</th> 
     <th>Title</th> 
     <th>Summary Description</th> 
     <th>Technology Stream</th> 
    </tr> 
</thead> 
</table> 

и в полной функции сделать что-то вроде этого. В нижеприведенном коде в первой строке я пустой труп таблицы. Затем я делаю переменную с datarows

completefunc: function (xData, Status) { 
$("#task > tbody").html(""); 
var datarows = "<tbody>"; 
$(xData.responseXML).find("[nodeName='z:row']").each(function() { 
    var projectid = $(this).attr("ows_Project_x0020_ID"); 
    var title = $(this).attr("ows_Title"); 
    var sumdesc = $(this).attr("ows_Summary_x0020_Description"); 
    var techstream = $(this).attr("ows_Technology_x0020_Stream"); 
    datarows += "<tr><td>" + projectid + "</td><td>" + title + "</td><td>" + sumdesc + "</td><td>" + techstream + "</td></tr>"; 
    }); 
    datarows += "</tbody>"; 
    $("#task").append(datarows); 
} 

Надеюсь, это вам подойдет.