在线获取列表共享点中的选定项目
Get Selected items in a list sharepoint online
我正在尝试创建一个函数来检索特定列列表中的所有选定项目,但是我不断收到以下错误:
items[i].get_item["Titel"] is not a function
然而当我使用
items[i].id
它return是所有选中项的id
为什么不能return列标题?
这是我的代码
function GetSelectedItemsID() {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){
var ctx = SP.ClientContext.get_current();
var items = SP.ListOperation.Selection.getSelectedItems(ctx);
var myItems = '';
var i;
for (i in items)
{
myItems += ' ' + items[i].get_item("Titel");
}
window.alert(myItems);
});
}
我猜 get_item()
只接受 "StaticName" 而不是本地化的显示名称,所以我建议尝试
items[i].get_item("Title");
SP.ListOperation.Selection.getSelectedItems() method returns key/value 包含所选列表项的集合,其中:
key
从零开始的整数值
value
是一个包含两个属性的对象,id
和
fsObjType
,其中 id
是列表项的 ID,fsObjType
是项目的类型:0 = 列表项目或文档,1= 文件夹
由于您的目标是检索选定的列表项,以下示例演示了如何完成它:
从列表中获取选定的列表项(SP.ListItem
集合)
function getSelectedItems(success,error)
{
var context = SP.ClientContext.get_current();
var listId = SP.ListOperation.Selection.getSelectedList(); //selected list Id
var selectedItemIds = SP.ListOperation.Selection.getSelectedItems(context); //selected Items Ids
var list = context.get_web().get_lists().getById(listId);
var listItems = [];
for (idx in selectedItemIds)
{
var item = list.getItemById(parseInt(selectedItemIds[idx].id));
listItems.push(item);
context.load(item);
}
context.executeQueryAsync(
function() {
success(listItems);
},
error);
}
//Usage
getSelectedItems(function(items){
for (var i =0 ; i < items.length;i++)
{
console.log(items[i].get_item('Title'));
}
},function(sender,args){
console.log('An error occured: ' + args.get_message());
});
我正在尝试创建一个函数来检索特定列列表中的所有选定项目,但是我不断收到以下错误:
items[i].get_item["Titel"] is not a function
然而当我使用
items[i].id
它return是所有选中项的id
为什么不能return列标题?
这是我的代码
function GetSelectedItemsID() {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){
var ctx = SP.ClientContext.get_current();
var items = SP.ListOperation.Selection.getSelectedItems(ctx);
var myItems = '';
var i;
for (i in items)
{
myItems += ' ' + items[i].get_item("Titel");
}
window.alert(myItems);
});
}
我猜 get_item()
只接受 "StaticName" 而不是本地化的显示名称,所以我建议尝试
items[i].get_item("Title");
SP.ListOperation.Selection.getSelectedItems() method returns key/value 包含所选列表项的集合,其中:
key
从零开始的整数值value
是一个包含两个属性的对象,id
和fsObjType
,其中id
是列表项的 ID,fsObjType
是项目的类型:0 = 列表项目或文档,1= 文件夹
由于您的目标是检索选定的列表项,以下示例演示了如何完成它:
从列表中获取选定的列表项(SP.ListItem
集合)
function getSelectedItems(success,error)
{
var context = SP.ClientContext.get_current();
var listId = SP.ListOperation.Selection.getSelectedList(); //selected list Id
var selectedItemIds = SP.ListOperation.Selection.getSelectedItems(context); //selected Items Ids
var list = context.get_web().get_lists().getById(listId);
var listItems = [];
for (idx in selectedItemIds)
{
var item = list.getItemById(parseInt(selectedItemIds[idx].id));
listItems.push(item);
context.load(item);
}
context.executeQueryAsync(
function() {
success(listItems);
},
error);
}
//Usage
getSelectedItems(function(items){
for (var i =0 ; i < items.length;i++)
{
console.log(items[i].get_item('Title'));
}
},function(sender,args){
console.log('An error occured: ' + args.get_message());
});