如何将.each结果添加到<ul>?

时间:2016-11-20 19:33:20

标签: javascript jquery loops sharepoint each

我正在迭代SharePoint列表,结果通过JSON传递。这是通过.each

完成的

然后我使用if语句(如果某个数据列等于某个短语)将该结果添加到页面上的无序列表中。

我的问题是它只添加了最后一次迭代。如何确保添加与if语句匹配的每个项目?

$.ajax({
    url: "http://site/subsite/project/_api/Web/Lists/getByTitle('SharePoint List')/items",
    type: "GET",
    headers: { "ACCEPT": "application/json;odata=verbose" },
    success: function(data){
        $.each(data.d.results, function(index) { 
        var courseName = $(this).attr('Title'); 
        var courseNumber = $(this).attr('Course_x0020_Number'); 
        var active = $(this).attr('Active'); 
        var courseUrl = $(this).attr('URL'); 
        var trainingGroup = $(this).attr('Training_x0020_Group'); 

            if (trainingGroup == 'Lab') {
                document.getElementById('labListSpan').innerHTML = '<ul class="courseLists"><li><input type="checkbox" id="'+courseName.replace(/\s+/g, '')+'"/>'+courseName+'</li></ul>';

            }
        });
        },
        error:  function(){
        alert("Failed to query SharePoint list data. Please refresh (F5).");
        }
    });
}
pullTrainingCourses();

1 个答案:

答案 0 :(得分:0)

document.getElementById('labListSpan').innerHTML = '<ul class="courseLists"><li><input type="checkbox" id="'+courseName.replace(/\s+/g, '')+'"/>'+courseName+'</li></ul>';

您每次都在替换innerHTML。而不是&#39; =&#39;使用&#39; + =&#39;