首页 > 代码库 > SharePoint 2013 使用查阅项实现联动下拉框

SharePoint 2013 使用查阅项实现联动下拉框

  SharePoint列表使用中,经常会用到下拉框,而有些特殊的需求,会用到联动的下拉框,在SharePoint中默认没有这样的字段,所以如果实现,我们需要自己想办法。

  这里,我们介绍如何使用JQuery+JavaScript客户端对象模型实现,下面让我简单介绍下实现的全过程。

  1、创建基础列表CityList,保存的是城市名称,使用默认字段Title;

clip_image002

  2、列表CityList的所有栏,我把Title字段的名称改为了City Name,如下图:

clip_image004

  3、创建基础列表AreaList,用于保存所有区和关联的城市,如下图:

clip_image006

  4、列表AreaList的所有栏,这里Title是区的名称,CityName是查阅项,关联自城市列表,如下图:

clip_image008

  5、栏CityName的详细属性,如下图:

clip_image010

  6、创建我们用来展示的列表,City一栏来自CityList,类型查阅项;Area一栏来自AreaList,类型查阅项;默认创建新项目,添加City的截图如下:

clip_image012

  7、默认新建项目,Area栏效果如图,会显示出栏Area所有的内容:

clip_image014

  8、在新建页面上,添加内容编辑器,添加如下代码:

clip_image016

<sharepoint:scriptlink name="SP.js" runat="server" ondemand="true" localizable="False"></sharepoint:scriptlink>
<script language="javascript" src=http://www.mamicode.com/"/_layouts/15/Jquery/jquery-1.7.1.js" type="text/javascript"></script>
<script language="javascript" src=http://www.mamicode.com/"/_layouts/15/Jquery/jquery.SP.LinyuService.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
    SPCustomServiceGetSelect("City","Area","AreaList","CityName","Title");//源父字段名,源子字段名,源列表列表,父字段名,子字段名    
})
</script>

  9、再次打开新建项目页面,发现和一开始不一样了,这里Area栏只是None,如下图:

clip_image018

  10、在栏City里选中北京,如下图:

clip_image020

  11、查看Area栏的内容,只是北京的几个区,不再是所有区了,说明我们的脚本生效了,如下图:

clip_image022

  12、当我们选中重庆的时候,因为测试数据中没有为重庆添加区,所以显示为None,如下图:

clip_image024

  13、查看我写的JS脚本,这是引用的所有脚本;我的这一联动查阅项,就是基于这个脚本和JQuery库实现的,如下图:

clip_image026

总 结

  当我想到联动下拉框,首先想到就是JQuery实现,在SharePoint中,很多前台的应用,使用JQuery都非常方便,当然,脚本我会附加下载地址,有兴趣的可以拿去使用。

  在写脚本的时候,我尽量封装成类库,前台调用即可,有特殊需要的下载后自己修改吧。

附 脚本文件下载地址

  http://download.csdn.net/detail/linyustar/7562499