我有3個庫,我想顯示庫項目名稱。如果我想顯示只有一個庫的項目,一切都可以,但是如果我正在查找兩個或多個庫的項目,它仍然只顯示一個庫的項目。我的代碼有什麼問題?使用Javascript顯示Sharepoint庫項目
<p id="AInfo">library A Items</p>
<p id="BInfo">library B Items</p>
<p id="CInfo">library C Items</p>
<script type="text/javascript">
jQuery(document).ready(function(){ExecuteOrDelayUntilScriptLoaded(fill, "sp.js"); });
var siteUrl = '/Example/test/';
liblist = new Array("A", "B", "C"); //list of the libraries
var i=0;
var lib;
function fill(){
while (i<3){
lib = liblist[i];
alert(lib);
retrieveListItemsInclude();
i++;
}
}
function retrieveListItemsInclude() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle(lib);
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><RowLimit>100</RowLimit></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem, 'Include(Id, DisplayName, HasUniqueRoleAssignments)');
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 += oListItem.get_displayName()+ '<br>';
}
var x = listItemInfo.toString();
document.getElementById(lib+"Info").innerHTML = x;
}
function onQueryFailed(sender, args) {
var x = 'Request failed. ' + args.get_message() + '\n' + args.get_stackTrace();
document.getElementById(lib+"Info").innerHTML = x;
}
</script>
感謝您的這個想法!現在它可以工作。 我只是需要一個快速演示解決方案,所以髒代碼(目前)沒有問題:) – Dami