我有一个文档库,我在其中添加了一个文本列Read
。我正在使用脚本编辑器Web部件来插入一些JavaScript。我需要为特定项目获取此列Read
的值(我知道项目ID)。
我将不胜感激任何帮助。谢谢!
答案 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)
您可以使用SPServices或SharepointPlus来帮助您。使用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)
使用 SPServices 和 jQuery,您可以在代码中引用它们:
<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>