2017-09-11 20 views
0

こんにちは私は、ユーザーが項目を選択するためのドロップダウンを持つSharePointコンテンツエディタWebパーツを持っています。選択は、リスト内の最初の100個の項目でのみ満たされています。これは、リスト内の500個以上の項目を埋めることを望みます。 SharePoint Online - Javascript選択リストにすべてのリスト項目を表示

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

答えて

0

の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リソース。 Use OData query operations in SharePoint REST requests

SharePoint Stack Exchangeリソース。 ajax rest only returning 100 items instead of full list

+0

返信ありがとう、私は上記のショットを与えたが、私はまだ100の結果に制限されて取得しています。 –

+0

申し訳ありません。私は&をクエリ演算子の間に置くのを忘れていました。やってみよう。 –

+0

まだ100の結果に限られていますが、クエリ演算子を削除して$ topを単独で試しても昇順で来る場合は –

関連する問題