使用添加为WebPart的Javascript代码段从SharePoint列表中检索列表项数据

时间:2014-08-08 12:34:44

标签: javascript sharepoint sharepoint-2013 code-snippets

我使用以下代码作为基础,允许最终用户输入姓氏和/或ID号,它只是从列表中检索该姓氏/ ID的所有实例,并将它们放在文本字段中或一些东西。这是在SharePoint 2013页面上。

<input type="text" id="Surname" name="Surname" style="width:200px" value="Enter the surname" onfocus="this.value = '';">
<input type="text" id="IDNumber" name="IDNumber" style="width:200px" value="Enter ID number" onfocus="this.value = '';">
<input type="button" name="button" value="Find Services used by person" onclick="findDocuments()">
<script type="text/javascript">
function findDocuments()
{
    var IDNumber = document.getElementById("IDNumber").value;
    var Surname = document.getElementById("Surname").value;
    window.open("ADDRESS HERE" + Number + "-FilterField2%3DSurname-FilterValue2%3D" + Surname)        
}

</script>

注意:ADDRESS HERE是列表或库的地址,我不希望它必须打开一个窗口,而是插入检索到的数据并将其放入页面的文本框中。

为了更清晰地重复,用户将看到一个或两个字段,一个字段用于输入ID号,一个字段用于输入姓氏(或两者)。当他们点击一个按钮时,它会查看该ID号或姓氏在列表中有多少个实例,并带回该人使用了多少不同的服务并将它们放在一个字段中。

目前我只能使用Media Content添加的webparts来执行此操作,因为我没有安装Visual Studio或类似内容的经验或资源。有没有人对此有任何建议?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用REST服务通过ajax使用以下参数检索列表项:

$.ajax({
     url:"/_api/lists/getbytitle('YOUR_LIST_NAME')/items?$select=FIELD1,FIELD2&$filter=FIELD1 eq '" + IDNumber + "' and FIELD2 eq '" + Surname + "'",
     headers: { "Accept": "application/json; odata=verbose"},
     success:function(data) {
            $.each(data.d.results, function(i, item) {
                  output += data.d.results[i].FIELD1 + " - " + data.d.results[i].FIELD2;
            })
     }
});