2016-08-05 31 views
0

Ich versuche Listenelemente Titel zu erhalten, um es in einen Div-Abschnitt in meiner SharePoint-Homepage einzufügen, habe ich diesen Code gefunden, die Element URL abrufen.So rufen Sie Listenelemente Titel mit JavaScript

es funktioniert gut.

Wie bekomme ich den Listeneintrag Titel mit dem JavaScript-Objektmodell?

Antwort

1
clientContext.load(list, "DefaultDisplayFormUrl"); 

Sie sind hier "DefaultDisplayFormUrl" Eigenschaft anfordern. Sie können die Title-Eigenschaft angeben oder nur bestimmte anfragende Eigenschaften entfernen, um alle zu erhalten (nicht empfohlen - Sie müssen nur diejenigen anfordern, die Sie zum Reduzieren der Belastung benötigen). So wird es sein clientContext.load(list, "Title") oder clientContext.load(list);

clientContext.executeQueryAsync(function() {  
    var listItemEnumerator = collListItem.getEnumerator(); 
    while (listItemEnumerator.moveNext()) { 
     var oListItem = listItemEnumerator.get_current();  
     console.log("List Title", oListItem.get_item('Title')); 
    } 
}, <...>); 

Beachten Sie, dass jede Eigenschaft über get_item Methode erhalten kann (aber Sie müssen verlangen, diese Eigenschaft zu laden, oder es wird eine Ausnahme auslösen).

Hier ist der Arbeitscode:

var clientContext = SP.ClientContext.get_current(); 
var list = clientContext.get_web().get_lists().getByTitle("Artdesk alertes"); 

var caml = new SP.CamlQuery(); 
caml.set_viewXml(""); // empty query also works 

var listItemCollection = list.getItems(caml); 

clientContext.load(listItemCollection); // i requested every property 

clientContext.executeQueryAsync(function() { 
    var listItemEnumerator = listItemCollection.getEnumerator(); 

    while (listItemEnumerator.moveNext()) { 
     var oListItem = listItemEnumerator.get_current(); 
     console.log(oListItem.get_item('Title')); 
    } 

}, function(sender, args) { 
    window.console && console.log(args.get_message()); 
}); 
+0

danke für die Erkundung es funktioniert gut, ich habe nur eine letzte Frage, Wie kann ich tun, um nur die 2 letzten Elemente meiner Liste abrufen? – ysfibm

+0

Sie sollten caml Abfrage dafür verwenden. Hier Abfrage letzten Artikel ' \t \t \t \t \t ' SortiertNach Knoten abrufen - Sie sagen sharepoint, um Elemente nach ID-Feld in absteigender Reihenfolge zu ordnen (es gibt kein Descending-Attribut, also verwenden Sie Ascending = 'FALSE'). RowLimit-Knoten - nehmen Sie nur 2 Elemente. Es geht hier 'caml.set_viewXml ();' Beachten Sie, dass in Listen mit 4999 + Elemente Sie Schwellwert Fehler erhalten. –

+0

dank, in meiner html seite habe ich ein div tag:

wie kann ich das ergebnis meiner js fonction in div? danke für die Hilfe – ysfibm

0

prüfen get_item ('Titel') auf diesem Code aus MSDN:

function retrieveListItems(siteUrl) { 
    var clientContext = new SP.ClientContext(siteUrl); 
    var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); 

    var camlQuery = new SP.CamlQuery(); 
    camlQuery.set_viewXml(
     '<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + 
     '<Value Type=\'Number\'>1</Value></Geq></Where></Query>' + 
     '<RowLimit>10</RowLimit></View>' 
    ); 
    this.collListItem = oList.getItems(camlQuery); 

    clientContext.load(collListItem); 
    clientContext.executeQueryAsync(
     Function.createDelegate(this, this.onQuerySucceeded), 
     Function.createDelegate(this, this.onQueryFailed) 
    ); 
} 

function onQuerySucceeded(sender, args) { 
    var listItemInfo = ''; 
    var listItemEnumerator = collListItem.getEnumerator(); 

    while (listItemEnumerator.moveNext()) { 
     var oListItem = listItemEnumerator.get_current(); 
     listItemInfo += '\nID: ' + oListItem.get_id() + 
      '\nTitle: ' + oListItem.get_item('Title') + 
      '\nBody: ' + oListItem.get_item('Body'); 
    } 

    alert(listItemInfo.toString()); 
} 

function onQueryFailed(sender, args) { 
    alert('Request failed. ' + args.get_message() + 
     '\n' + args.get_stackTrace()); 
} 
+0

hallo danke ich habe es versuchen und es does'nt für mich arbeiten – ysfibm

+0

Jeder Fehler, uns zu zeigen? – jpussacq

+0

ja, wenn ich es in die Konsole legte, habe ich kein Ergebnis nur undefined – ysfibm