[英]SharePoint Online - Javascript get all list items into a select drop down
您好,我有一個SharePoint內容編輯器Web部件,該部件具有供用戶選擇項目的下拉菜單。 該選擇僅填充列表中的前100個項目,我希望它填充列表中的500多個項目。
謝謝
<script>
$(document).ready(function () {
partnumDrpDownBind();
});
function partnumDrpDownBind() {
var listName = "Spec_ID_ABS_Primary";
var url = _spPageContextInfo.webAbsoluteUrl;
getListItems(listName, url, function (data) {
var items = data.d.results;
var inputElement = '<select id="drpspecs"> <class="form-control"> <option value="">Select</option>';
// Add all the new items
for (var i = 0; i < items.length; i++) {
var itemId = items[i].Title,
itemVal = items[i].Title;
inputElement += '<option value="' + itemId + '"selected>' + itemId + '</option>';
}
inputElement += '</select>';
$('#partnumdrp').append(inputElement);
$("#drpspecs").each(function () {
$('option', this).each(function () {
if ($(this).text() == 'Select') {
$(this).attr('selected', 'selected')
};
});
});
// assign the change event to provide an alert of the selected option value
// $('#drpspecs').on('change', function () {
// alert($(this).val());
// });
}, function (data) {
alert("Ooops, an error occured. Please try again");
});
}
function getListItems(listName, siteurl, success, failure) {
$.ajax({
url: siteurl + "/_api/web/lists/getbytitle('" + listName + "')/items?$orderby=Title asc",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
success(data);
},
error: function (data) {
failure(data);
}
});
}
默認情況下,SharePoint ODATA REST模型將返回項限制為100。 您可以通過添加$ top查詢運算符來覆蓋該限制。 這是為了防止系統陷入困境。
// change the url: property of your ajax to this.
$.ajax({
url: siteurl + "/_api/web/lists/getbytitle('" + listName + "')/items?$top=500&$orderby=Title asc",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
success(data);
},
error: function (data) {
failure(data);
}
});
小心。 如果您返回許多項目,它將使速度變慢。
MS Dev Center資源。 在SharePoint REST請求中使用OData查詢操作
SharePoint Stack Exchange資源。 Ajax rest只返回100個項目,而不是完整列表
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.