2015-08-05 2 views
0

Я пытаюсь создать функцию, которая получит все выбранные элементы в списке в определенном столбце, однако я получаю следующее сообщение об ошибке:Получить выбранные элементы в списке Sharepoint Online

items[i].get_item["Titel"] is not a function 

Однако, когда я использую

items[i].id 

возвращает все идентификаторы выбранных элементов

Почему наклоняю вернуться в колонке Titel?

Вот мой код

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); 

    }); 

} 

ответ

2

SP.ListOperation.Selection.getSelectedItems() method возвращает ключей/значений который содержит выбранные элементы списка, где:

  • key нуля целое значение
  • value является объектом, который содержит два атрибута, id и fsObjType, где id является идентификатор элемента списка, и fsObjType является тип элемента: 0 = элемент списка или документ, 1 = папка

Так как ваша цель состоит в том, чтобы получить выбранные элементы списка, в следующем примере показано, как выполнить его:

выбран список I стем (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()); 
}); 
0

я предполагаю, что get_item() только принимает «StaticName» и не локализованы отображаемые имена, так что я бы предложил попробовать

items[i].get_item("Title"); 
+0

Я Allready пытался использовать «Title», но все-таки получить сообщение консоли с 'get_item' не является функцией –