【问题标题】:Creating a cascading dropdown in sharepoint在 sharepoint 中创建级联下拉列表
【发布时间】:2017-07-11 09:49:44
【问题描述】:

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

例如,如果您有一个国家/地区下拉菜单并选择美国,则会列出 50 个州。然后,如果您选择马里兰州,您将获得该州内的城市。

【问题讨论】:

    标签: sharepoint sharepoint-2013


    【解决方案1】:

    您可以使用 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

    【讨论】:

    • 对于 spservices,您的国家和州需要在单独的列表中。
    • 感谢您的反馈。我开始走上使用 Infopath 的道路。我观看了一些 YouTube 视频以了解我所处的位置。现在我有三个下拉列表,但只有前两个工作正常。我需要帮助将第三个与第二个联系起来。
    • @AlexWeitz 您可以按照以下博客中提到的步骤进行多级联。 Multiple Cascading
    【解决方案2】:

    您可以使用 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);
            }
        });
    }

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多