【发布时间】:2017-07-11 09:49:44
【问题描述】:
如何在 Office 365 SharePoint 的列表中创建级联下拉菜单?
例如,如果您有一个国家/地区下拉菜单并选择美国,则会列出 50 个州。然后,如果您选择马里兰州,您将获得该州内的城市。
【问题讨论】:
标签: sharepoint sharepoint-2013
如何在 Office 365 SharePoint 的列表中创建级联下拉菜单?
例如,如果您有一个国家/地区下拉菜单并选择美国,则会列出 50 个州。然后,如果您选择马里兰州,您将获得该州内的城市。
【问题讨论】:
标签: sharepoint sharepoint-2013
您可以使用 Info Path 表单,这使得级联变得非常容易,如果您不想使用 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
【讨论】:
您可以使用 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);
}
});
}
【讨论】: