SPServices.SPCascadeDropdowns没有正确级联

我有三个SharePoint 2016列表:

  • 组织
  • 部门

组按部门排序,部门按组织排序。

每个列表中的标题字段用于组,组织或部门的名称,每个列表中都有一个下拉列表,用于选择相应项目的父项。

在我的一个表单中,用户应该选择拥有特定软件标题的组织,部门和组。 我试图使用SPServices.SPCascadeDropdowns只显示所选组织的部门,但它根本没有做任何事情。

表格中的相关字段是:

 

Organization *

Department *

我正在使用的Javascript是:

 $(document).ready(function(){ $().SPServices.SPCascadeDropdowns({ relationshipList: "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", relationshipListParentColumn: "Organization", relationshipListChildColumn: "Title", parentColumn: "Organization", childColumn: "Department", debug: true }); }); 

我已经加载了jQuery 3.2.1和jQuery.SPServices-2014.02.min.js。 我在Chrome控制台中没有出现任何错误,它根本就没有做任何事情。 如果我在$()。SPServices上rest一下,它确实打了,所以我知道它被调用了。 知道我做错了什么吗?

考虑到你没有提供你的数据结构,我带了我的;)

使用此PowerShell脚本在特定网站集中创建结构:

 $web = get-spweb  $template = $web.ListTemplates | where name -eq 'Custom List' $organizationsListId = $web.Lists.Add("Organizations", "", $template) $departmentsListId = $web.Lists.Add("Departments", "", $template) $groupsListId = $web.Lists.Add("Groups", "", $template) $organizationsLookup = $web.Fields.AddLookup("OrganizationsLookup", $organizationsListId, $false) $departmentsLookup = $web.Fields.AddLookup("DepartmentsLookup", $departmentsListId, $false) $organizations = $web.Lists[$organizationsListId] $departments = $web.Lists[$departmentsListId] $groups = $web.Lists[$groupsListId] $departments.Fields.Add($web.Fields.GetFieldByInternalName("OrganizationsLookup")) $groups.Fields.Add($web.Fields.GetFieldByInternalName("DepartmentsLookup")) $groups.Fields.Add($web.Fields.GetFieldByInternalName("OrganizationsLookup")) $organizationsLookupInList = $departments.Fields.GetFieldByInternalName("OrganizationsLookup"); $organizationsLookupInList.LookupField = "Title" $organizationsLookupInList.Update() $departmentsLookupInList = $groups.Fields.GetFieldByInternalName("DepartmentsLookup"); $departmentsLookupInList.LookupField = "Title" $departmentsLookupInList.Update() $organizationsLookupInList1 = $groups.Fields.GetFieldByInternalName("OrganizationsLookup"); $organizationsLookupInList1.LookupField = "Title" $organizationsLookupInList1.Update() function AddListItem($list, $title) { $itm = $list.AddItem() $itm["Title"] = $title $itm.Update() return $itm } function AddListItemDepartments($list, $title, $lookupIdOrg) { $itm = AddListItem $list $title $itm["OrganizationsLookup"] = $lookupIdOrg $itm.Update(); return $itm } function AddListItemGroups($list, $title, $lookupIdOrg, $lookupIdDep) { $itm = AddListItemDepartments $list $title $lookupIdOrg $itm["DepartmentsLookup"] = $lookupIdDep $itm.Update(); return $itm } $org1Id = (AddListItem $organizations "AAA NET").ID $org2Id = (AddListItem $organizations "BBB NET").ID $org3Id = (AddListItem $organizations "CCC NET").ID $org4Id = (AddListItem $organizations "DDD NET").ID $dep1Id = (AddListItemDepartments $departments "Finance" $org1Id).ID $dep2Id = (AddListItemDepartments $departments "IT" $org1Id).ID $dep3Id = (AddListItemDepartments $departments "Finance" $org2Id).ID $dep4Id = (AddListItemDepartments $departments "Social" $org2Id).ID $dep5Id = (AddListItemDepartments $departments "Fun" $org2Id).ID $dep6Id = (AddListItemDepartments $departments "Sport" $org2Id).ID $dep7Id = (AddListItemDepartments $departments "Knowledge" $org3Id).ID $dep8Id = (AddListItemDepartments $departments "Sport" $org3Id).ID 

下一个:

  1. 打开组列表newform页面。
  2. 从右上角设置点击编辑页面。
  3. 编辑xsltlistviewformwebpart,将jquery和spservices附加到JSLink属性,即:

    ~site/siteassets/jquery-3.2.1.min.js | ~site/siteassets/jquery.SPServices-2014.02.min.js

  4. 将CEWP添加到页面,将其移动到webpart下面并插入您的js级联下拉列表代码:

代码(见评论)

 $(document).ready(function(){ $().SPServices.SPCascadeDropdowns({ relationshipList: "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", // Your departments list id relationshipListParentColumn: "OrganizationsLookup", relationshipListChildColumn: "Title", parentColumn: "OrganizationsLookup", childColumn: "DepartmentsLookup", debug: true }); }); 

这应该工作(也与jquery 3.2.1)

看起来问题是因为您使用的是jQuery 3.2.1

根据文档,它建议您使用jQuery 1.10 or greater

建议您删除3.2.1版本,而是使用1.12版本,然后检查。

参考 –

SPServices一般文档

jquery.SPServices-2014.02.js

下载jQuery的链接 – jQuery.min.js