2017-04-26 82 views
0

如何在Office 365 SharePoint中的列表中创建级联下拉菜单?在SharePoint中创建级联下拉菜单

例如,如果您有国家下拉菜单并选择美国,则会列出50个州。那么如果你选择马里兰州,你会得到这个州的城市。

回答

0

您可以使用信息路径表单,它使得级联非常容易,并且如果您不想使用Infopath,则必须在想要使用级联的表单中使用Jquery CSOM或REST API。

请通过下面的链接了解更多信息:

http://www.markrackley.net/2014/05/20/cascading-drop-down-lists-in-sharepoint-office-365-using-rest/

https://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns

+0

对于spservices,你的国家,美国需要在单独的列表。 – Vaibhav

+0

感谢您的反馈。我开始走下使用Infopath的道路。我观看了一些YouTube视频以获取我所在的位置。现在我有三个下拉列表,但只有前两个正常工作。我需要帮助将第三名和第二名绑在一起。 –

+0

@AlexWeitz你可以按照下面的博客中提到的步骤进行多级级联。 [Multiple Cascading](http://www.nothingbutsharepoint.com/2012/05/25/sharepoint-how-to-create-multiple-cascade-drop-downs-using-infopath-2010-aspx) –

0

您可以使用REST API来实现级联删除在SharePoint下来。循序渐进文章链接:Cascading drop down in SharePoint using REST API

//Function to filter the values of Drink Types 
 
function loadDrinkTypes(selectedDrink) { 
 
    var drinkTypeListName = "Drink Type"; 
 
    var drinkTypeListURL = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + drinkTypeListName + "')/items?$select=Title,Drink/Title,Drink/Id&$expand=Drink&$filter=Drink/Title eq '" + selectedDrink + "'"; 
 
    getReqData(drinkTypeListURL, function (data) { 
 
     var items = data.d.results; 
 
     if (items.length > 0) { 
 
      var optionsAsString = '<option value=""></option>'; 
 
      for (var i = 0; i < items.length; i++) { 
 
       optionsAsString += "<option value='" + items[i].Title + "'>" + items[i].Title + "</option>"; 
 
      } 
 
      $('select[title="Drink Type"]').html(optionsAsString); 
 
     } 
 
    }, 
 
     function (data) { 
 
      //alert("Some error occurred in getting Drink Types"); 
 
     }); 
 
} 
 

 
//JQuery AJAX to access REST API JSON data 
 
function getReqData(reqUrl, success, failure) { 
 
    $.ajax({ 
 
     url: reqUrl, 
 
     method: "GET", 
 
     headers: { "Accept": "application/json; odata=verbose" }, 
 
     success: function (data) { 
 
      success(data); 
 
     }, 
 
     error: function (data) { 
 
      failure(data); 
 
     } 
 
    }); 
 
}