SharePoint 2013获取列表项字段值

时间:2014-01-13 19:43:39

标签: javascript list sharepoint field sharepoint-2013

我有一个文档库,我在其中添加了一个文本列Read。我正在使用脚本编辑器Web部件来插入一些JavaScript。我需要为特定项目获取此列Read的值(我知道项目ID)。

我将不胜感激任何帮助。谢谢!

4 个答案:

答案 0 :(得分:2)

此代码有效:

this.oListItem = oList.getItemById(itemid);
ctx.load(this.oListItem);
ctx.executeQueryAsync(Function.createDelegate(this, 
    function () {prevText = this.oListItem.get_item('Read'); }),  
    function (sender, args) { alert('Error occured' + args.get_message());
});

答案 1 :(得分:0)

您应该使用Sharepoint客户端对象模型来获取添加了文本列的文档库。之后,您可以通过使用项目ID构建caml查询来获取列表项,并且您可以获取列的值。

答案 2 :(得分:0)

您可以使用SPServicesSharepointPlus来帮助您。使用SharepointPlus,代码将是:

$SP().list("Name of your list").get({fields:"Read",where:"ID = 123"}, function(data) {
  if (data.length===1) alert("Read = "+data[0].getAttribute("Read"))
  else alert("Unable to find ID 123")
})

答案 3 :(得分:0)

使用 SPServicesjQuery,您可以在代码中引用它们:

<script type="text/javascript" src="jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="jquery.SPServices.min.js"></script>

然后使用此代码获取当前项目的字段:

<script type="text/javascript">
    $(document).ready(function() {
        // Don't forget to replace the document library's name
        // if it's not "Documents"...
        getListItems('Documents',
            function(items){
                var e = items.getEnumerator();
                while (e.moveNext()) {
                    var item = e.get_current();
                    //console.log(item.get_item('FileLeafRef'));  //print File or Folder Name
                    //console.log(item.get_item('FileRef')); //print File or Folder Url
                    var read = item.get_item('Read');
                    alert('Read = ' + read);
                 }                
             },
             function(sender,args){
                 console.log(args.get_message());
             }
        );
    });

    function getListItems(listTitle,success,error)
    {
        //alert('getting items');
        var context = SP.ClientContext.get_current(); 
        var list = context.get_web().get_lists().getByTitle(listTitle);
        var items = list.getItems(SP.CamlQuery.createAllItemsQuery());
        context.load(items);
        context.executeQueryAsync(
           function() {
               success(items);
           },  
           error
        );
    }
</script>