簡體   English   中英

SharePoint Online-Javascript將所有列表項放入選擇下拉列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM